<!-- Copyright 2014 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -->
<!DOCTYPE html>
<title>Compatibility Tests</title>
<script src="../../../../../javascript/closure/base.js"></script>
<script src="test_js_deps-runfiles.js"></script>
<!--
  Tests custom openkeychain key from Issue 337.
    Taken from https://github.com/google/end-to-end/issues/337#issuecomment-149080863
-->
<textarea id="InboundOpenKeyChainCustomKey_Issue337">
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
6g==
=Jp2a
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<textarea id="InboundRsaEncryptOpenpgpjs0_7_2">
-----BEGIN PGP MESSAGE-----
Version: OpenPGP.js v0.7.2
Comment: http://openpgpjs.org

wcBMAyMlJx+Vv4ahAQf8CXpvMByJWLVwCvI3Ng4+OzDoQwByMebsrI6adKJp
glmvgZovYVryvNwKYRTjXaPmhjfEV1HeicNDPKdEauX5p2TCjExioW4sCxtR
YkAIqIxznesK+6fOvs3kFhlwkKRGkMPDBigIdX6n9yOg1fd9kZaj4ieS886c
wDV7OTwTizftwjAToiuCGYLI/urTTYhR34ilhX34BZanx89O2WXgPnUcnr97
X2pINGtOpCwrdq3xLsWW7UT5ezQhtSYVwDiN9IzPfZZtnczFLsQmYPPyK7ie
4ETOzTD+6NfbjkkhnD6ALU9mkYXtz4Okdik4+eOHxHsgOsehrxrt1yWN3iq6
B9JBAf0tB+echPkUTiQARrDQW8mo4rGDwMysNuzhL0ydCHekTd0xtxAHOaJP
QtApAcRrYGCNb8hkdBi66h8fxsEAEjo=
=ZEjt
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundRsaEncryptPgp10_0_0_674 Tests for:
    3des.sha384.zlib.asc
    aes128.md5.zip.asc
    aes192.sha256.uncompressed.asc
    aes256.sha384.zip.asc
    cast5.sha512.uncompressed.asc
    idea.sha.zlib.asc
-->
<textarea id="InboundRsaEncryptPgp10_0_0_674">
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBB/0euzvEFRGiWJNXD5vvDvasRBSgqv+6Ulghgdww
52gFFim/0euBkc9/5XhLvjutxktdVWwMMVW8SU198WqHhH+aJc55f6XJfqVxZKaa
89IpUb+V2StqZ1uOpJHZMVMQT1FL2QI/H3xtdBLmQ61jYOBH3sfHhDYfwqJjj8Eg
pIVoOcxVFGPkmtB32saaAaCmRzY3m3rfb81j5W8GvGKumug3tjFIREkWIPJhNZ0a
K9c6VqJ+fNOoHgJZa1+3Cm3nIPza8nHb8L/N4lfkBwNLJoUlDrbrJa20FH4GBIf/
FcjoNRLLLZTLwhUwFaXHBJN32HeJE95Un7JudN8ghJLik0Gv0kIBnEzhGrUL7fvA
3Zkx1Ab/M86vjEouV83F/UIDfLHcWB/fPtIyT9yykzEb+tT3UlMh+miR4iSbOy9o
pOZ9fVZh8gU=
=BIOC
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBCAC4GnRNvJix0QjchqgbCU/PYbp3NtrmwlBu8Ivr
8g2g4R6v7fZtl3oAfG8s0e4NHtmoF9FzIf6LdBDDFdDq/jEqhMVOAQRmmOIIChp+
K598t5KP0FW9tP8iVyY8QCrTK8FObG6l8dgidcd4fCGIYJnFhvvlhbnH8mw2x1Bk
7Q0baaz30rOueQeaDVsUi71b6kT34C3vjH420goigVztPdSzijcUkPevui9l66LN
GHQ8dZg/q53jUeMg4cskrHX7BBeF1imNVioL/iXwlYT4vmwp9LZSUGrR2/IaZwNX
izz6Cv4EMOHzN4RF0yYvfKCGTFtH03zyo2y2uLWKH4WJ42MQ0kQBBGRVn+9ocHBT
RJ3msAqxkE+5+z5KObd5Lw+6qFG8PVsNmZqSCjSmZAmMYtAKXlgPJdGxVwDG8lDq
LXlDUuoyqGSclw==
=hr/o
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBCACY8qhQaOP5NcbiUtPa7P9w9uSJQSwcp7yL7n64
Zo3yOKD4DedmT6a17L774t9UPsKlAMA5m2bkMfbq2gq0fqQVr+G0/c9/zaDRiD/3
bYAfe/MPNPmyf593U5AE7ClPhVWmzEhtEI+o/jP//FGlZY+XSa8M/3SkNzL1fc5B
pYb/78xliSddqkK7wcj/E+DChF8LvLZ2aCBucjptm2j7S+ocsYIC+AXhLjoAPSJU
k5mlTil4UfGmSnenpEsAlKaFnLIpUIWILgr5u3hbrTEm/mHgPvun/UKbrZ+buzQZ
UysmTH4zRIhtMoUHFUgSYSOmz8VmcJgS7BrUuhBgMGw4BL8c0kQBOoRezAmzbPzX
K0UI8ywc0yzslmnYrTx6yCIg9vgsUH9XzhpoWTLmxThnr7A7egJghCBMKdplYINf
udXT81/3oG5BUQ==
=rtaa
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBCACVj2uKPfT9zAOjFUsH8OuV4bBaEFBaOQfrpHOJ
1cude4SYzz1V5+tYzYvNlCSBJ1ljLW5poKixSRhqa0vQZKfmY6H2oYeXVlY+8B9E
ZfTKStkhTxccAW2/0atL0USwmiq4/w8gIh9KRxZP44DkVzNMqM4PXUvsIuSTAzIO
MH4IN3jrt1nZgBmCWZi6BwcXkX9Rtb13GAU+WhqXgxP1WYYRr1OHfIkn4F5x4RXF
5G0qF8i17LNVFDqxRs2bClGNrSr0xhVM6pavplLpqUnOz3EWPZ1lu7wQZWf/qXJ0
QvXhtAo6ztQMlh33fl/frbcr/Jzg81V9UGwbo7OI0CCyb9440kQB9T0Rx6omEqty
Yp3qNnhwlrRs3lkYaMM+z/06rrzpn6ucZggQHD4ZCK8ZHYx/FSpYJ5li6jOOPfOc
Ub0u15hwyyBnFA==
=DuYZ
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBCACifnnB4vb6x2bEmih4niw6G/Q2tAM/jKfun3F/
0AuJ7lR+RB6ZSPsM9i6m5vPkbwAJlWhc51BZ87SsAZtdgWOGDbuaBYzPQ3mlzJX/
AeiemNpBJr0yNEr0Tu/mPwtNnu8LVgntA9dscxvHKlBOSoMvs63sH0naVi0zhCbg
Ke0g9znjygnBXkc7IhWkvySn/82QSKVhilMNlzCgshCIF5L8HAysW13sb0YgNV+2
tbDw4+WQc6OJqobA6quloy71ncZCluf6GbIvEWGjpzWtf8U4T5vgUubt8z1g64Je
g3xgn5tXJEBLsclyOtR/TjPvQVgpufvzTcSt9pwSBz6wid0f0jwB2iXt+MDa7ASJ
EvDBgGcP1xahPQFPloCYhiN5+MTVF5CwAEpV9kL55ZlflanLNSfAJfDvygnle5Nw
l/A=
=5lk7
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: PGP Command Line v10.0.0 (Build 674) (Linux)

qANQR1DBwEwDIyUnH5W/hqEBB/96YWzT39JCpC71xHnmSYCSCM32QFvikS8wuxQO
9e618KtW7gfWaZxSQsNfykFMhfkkbQcp5I5Dg6L7C9kqrnAG7XPF11S2aYYHG5t1
dcgItN/YO1y8wCq6DZ7c4wh13wHhoZfAEWbxbXOcgWiKUNmnvq9W6I2VWYHsfBSj
x2qNnojH1SM8bX/EjPhUUx4WEKOhWFc7nezg7/8VOAfyGtJMUtNsIc9ekeRJNeCR
a4VPVtApssd3uDMPBiBgPtS6VuuHUlEUXOaUeGVL5vZzquIaE1MSSPTPWuAg3QEO
X0vO+iPdpDu5EHs5VoCZ/WMPWNa+WWY3C4db/gl9CBq6u2Wa0kIBMMqfuwSLW40a
bLGSgVzkPYbWvZhAPOwuH0VNTkbBBr3DHNSM6QGPyjHN2Q3sddrhiFt7A41wM8um
y/FL9GJQv3k=
=vm1f
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundRsaEncryptGnupg2_1_0beta3 Tests for:
    3DES.SHA1.ZIP.asc
    AES192.SHA224.ZLIB.asc
    AES256.SHA256.Uncompressed.asc
    AES.SHA384.ZIP.asc
    AES.SHA512.ZLIB.asc
    BLOWFISH.MD5.Uncompressed.asc
    CAST5.SHA1.ZIP.asc
-->
<textarea id="InboundRsaEncryptGnupg2_1_0beta3">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAioSQeowOqYeUfhSa/J9KdmU8f1bqxeUS+vB931gl1YQL
SiZkMVkFcok+nZFA+9Q3MntdEvWLrFRaoOU79duEmt963yxjHh02i+9kvbac3CW2
JfljlyPIpPND7ksVDLLG5n7RKy7ZMG4K4WALWNq7GyVNLERCGGQ+qpfxjbWeWotq
rOdzKBgebPX/h3+Toif6R3lL1ST2V1ufKMOcxZljGQbl5+XCyw2TMazitno8Yf1b
cXH7ocshnjmvu/0zGpyqoDF4JJlVBXVAm9HSJWtWlSACpEKty2AU7SoiMIsiBpKk
OfYCawF49QOrkKUWcQkBLqwFQvsK+c1BAutXrwz+0tI1AY1m6E86TA2eTDQyUnEs
vYugiMUrXsyPDxD7IkHBvQJSKIQQcnLD7/nFAQupqV9FN5Qlqsw=
=4wN0
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/RASGVTt6Tx4uRtt21Jp1lVhCAbzmdUG4DDrewGYX2eNv
7O3/HaxpUheqRbXTMC+7K8f2AyT7THamD045k5CEio6np7ljllykVTURnZOS0BPH
vDFIeGtEL0CuSMQ1ufOrPtuQbIPzFOOFOHxl9h5Jz3C270cabiNNpJ2dfoGn9KSB
wM1aXig2IUFl4m0taVlumnKD/zLDf3HN5Fg51mHN1p0qfDkGTzoTNS375WcGp7oY
OWBF3f8Lx+tbVdjv8HkXi0Lt5T3Mw034rwMm9Dcya6bpFxxRgx6pW8GKM3jhtJGk
iylrsI+QvyzcpDM7lX1ABMvnDRaR3BPwy2P8AF0fVtJDARrbueS+awRsbNjC/wPg
4T4xFx5FPUhY0HhvvJ48VyRHdg3JuGNV0XwWtdp6yWxf7gXNapLjJ6VnXP9pV5xK
OuqE9A==
=18b+
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAh4hqAX63u5p5D6PMmLAcjG4JcfRCtjyMrblDWIf42NA9
6WhlQ/md09fDcKi+Qef5tlkEsT1iaFRqmkT0pPdcNd+kSslJnkdAnx+AiJ4U0oio
ZiExHV8RHb7QWLBh6ay2WueFdp7KxxiE2/B5TabAplDLvW2VoJ5igW04sxFmEoOb
5LAWh3Ta6HC6lY85AwCi2YtryJoC8vBfrO6r0J0ZfrbvpKwz4D62MCqHxPuGxQQ0
JxqqqtAkUbYEbWnGQY7h6TccsFq0F5pAnTb+3oJUahmXZ4DS/YPgtz/Ij3SK3Vng
FY6wozOCH/nmNOM9OQz8mvxIMFv7oTy+CeShhhV+GdI5AVKVBVV/txHvVM97jnxN
GGC/Xrpj5CPzLNqwtbwTTghXMdGZt1AZ80TMqYd5IBc/eAz7SmyYQ780
=iLqg
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/exxa+hPFbs872czGJVw5RShD28CGnCQX/hcbyGHRdn5t
GJLSjOGbYMzr2ZwcvVFBDr1pGfZsG4p8xHGkWzNIZ0xpuUn6kQxM9ki1aZDYJPe3
9kuRV3HTESlbFCPacJKpV9zxIZiYVJftAFVebhH8TaZeE+M/yu71KQ4kAJhu4Mwq
6DHKp367OcZNWpT36NcNxQ79Nl6Q8MOfsVRcuB4giPPjI6Cec4I/0LUc/qpzc2ue
2LhH4s+0BjfFlOosaLCvxMGAxAoLDyT2tcv1FvC7NJFXqs4oXt6aUlPrcCM0aTol
Kd1PSBVCDF8l/Y0mjnwii80i1dA7xybfG1YKj+xrmdI9AboPBtw+yPhLdxNHFChh
+zE79rClZUwNz8sI9J7Svu/e1T3D16sJ7+R/DNLVaaIQ7oMewyFQTxydfLCjtA==
=1EaC
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf+L5OwbR66JZCDa43ND/yOV/axC0xKz+83opLnkD9ZNqqx
CSuCV/i5oQvGxGuXdIhJstdnW43Xdx6Zh15wB0DWGE1U8niED1I5mpW5bqeku1zn
nINP00jStbatUn1y3sHd1yU7HZ9iQV6A0dCaMmFmfWqj4LU1kvH1p3Rf0N82YoRR
9KCLJUtnfLX3bTdP5gL0gy/rksibtD2UiG+uLs45ZtvFnHjOG+PyggMxDMzDQqe+
+/Gax2v8XY9gPASat3BvesBQUFh0EJSULRicV0i7v8XtNxA/GFDiTd9Tr0Ra8tkw
ryYjxxqb7BjF1ZfVF5cFtFIq3K7Ym/5s23COd9zS7tJDAcAyyeKu+lKgkAVORlMA
ByH1p+AAGIJfMvEaEDidYxyRctC4mUDz8HWuIyvKLqJ2itzg/OU4WZNm0qytfoZl
FNkJhg==
=5hVa
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf+IQnDeQTlrrc64ooTWAzxphdHX0cRsZ/CkoofZe5RuFLg
Nm91JECfi0ogc2Fn6nkYgh4/fEcIpzAZ0hreh2owEyWhPOpW1+eUQ9Z87nfoI12+
/6bcdsaHrDz76/itCsQWDYIr7Rz0VWsaKbKAVRgycDu0Tp0pc4wm5C4b+rjjyw3V
TPu8m6nyBFK8pawZmtn2XKOV9gKE7ytOcoyPRY9NhmNb3bRu/uDvSS/Cn651D64Z
p0VPSbqXoWa4+VrbqWUcFcU1zFRvPrMecLUmzGBRSF9jmfiK0y+DRzw6NDr0ehEd
OLbi2tuCH7BLDoQaXuz+BHN2UF79zYZeMJOKRMlYatIxAQORnNlYkObTD+Lahrue
MbUJ7DVzLG5gk2bbfO28/KrTkigGMYGGzRxUDV9e5bzQfA==
=EeP3
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.1.0beta3 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/U4UWPUHhVW02FFgUHPDHhtXPbP/fe29yTTK1GQsTyvjk
4E7esdZJh/r5b45RenR95BKjx1MOAX5FscuBv5M2b0B376NTVGYI+UjRf6WGlpQs
62w8CwH5+Z64nfaaomA5ut5kEGXM6LEKin8b1s9iYslIsf2mZulza/+9ryd/3doN
RsjaRE0mrzE7+6+jaTNs54yuQLYSmkzcSYhVBPlfk+5GJwVoIwmfV44YqS/MSypp
+HsIY7nU2eAyAxfO2+20QrebrTpkxLXUWrBEMSKRMwtjsyHOjfhAhr4CYlBkUQRg
0aCt9TA2GZJP7aaLOKk9JFVSi2+H91Pz3md+W6H969I1AXWYpTD7ielMKCIdclVJ
8wbuLapIId+P0cwH1mL+ixkjdr7hM0H8GrHOKtYG6OkAyWIce+0=
=H6oC
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundRsaEncryptGnupg1_4_11 Tests for:
    3DES.SHA512.ZLIB.asc
    AES192.SHA384.ZIP.asc
    AES256.SHA256.Uncompressed.asc
    AES.SHA224.ZLIB.asc
    BLOWFISH.SHA1.ZIP.asc
    CAST5.MD5.Uncompressed.asc
-->
<textarea id="InboundRsaEncryptGnupg1_4_11">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAqbwswoFj74SdQZNLE/yUDV2tmNBmMgBIwSVTg3Rn0hUT
pFsxeEs/uM7GIurwXeiqja5dZAHaLIqCEnH+E1D1+CHB6ndqYnvro/hfk1AnT2gS
SjTmUEsYPgIMSX3rKCtZS/pb9JxvrhodNePZogAvgNE4lwu6zqNmEe8yKGs5wFiL
TtDw/XD29e/3NSrWHd0TKyERNuM3TR0K7zjJcSFAV2VGoXdXcZEgZXUzCqnAOboi
G/KTgPS4p0Gm81Yt3mEMl/XcW3x7dcFbK7uT4rZQVVWukYgQHMSFY4boJcA+UwuS
Fp9e2d/DoYWDlkde43+QJ4/FNAMGwzn5I5LfTyhoG9I7AUmTdjb70bfOyHk8d8oG
4o4zSSr+f3ix2PN3q3Hcp/5UDJx8PR2EqbwByLm1bAx01RZGoBtYDhZdu3I=
=ME+d
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/bRV1Hn0enCwM7oTy9381kSTC/PKATJH4za6uJsReTWo3
tQNizwBF0oa5ZEq36OSB3oOcmqmdF5asUCXX1/hR5/kxqnTrhMs4hqrgXj+rQkCf
ecrp/LMceiVCHcgav7j4eLF2YABE+ABAHmyyi7uiZJVV/Y8EkCL7bh98ypUxXCVW
Tl3BJuOdw0nhdIh7JjAghrQeikrSKoTgsQCVMBfosDqXepdMfCIZ2kt80g6ELVXs
fKILr5DXGz6ueqVvxIjBbdAeP21+tBNq5qMMFnCooQGq4F+rABfDKbDrAF4EugVN
VV2taK4FwW4ye1qZ0zc3B8wMQYopLyPQGJ3oQguWhNI9AYpP5cj2aR0D7qZ64v4X
Qi8oEg3FpLI936JxT46ukkSeMD35Nvc6JZkjpmF93b9bqDfIHEJNvJl1B90yGA==
=PSpi
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/Rz9MUT6vO5CMuA5TpXeHWHvOI5BKyYWK62dLAFFMwA+5
BmT9SvD6zno0qcXc9RcyshfifLl7RJ5WFRw7qCqTNSUORTCs3SzBonz6GBl6Q22y
ej4A1I3NHaE04P9MS7rqgTIR5A4Bsl8ddBXwkzIisfL8Tln95V5KWbFCSrAPQW6y
tQkVWRsW3Evgit3ncZaZuCfQRnyHKgTISmgxi5c6CFKuDOKjqXH+vNeeJXB8UJwk
srD1WG65xfz3jF/1bS93dVSFvap8/IBmbc8yJD25kG+nzvIwy5lguO0Hnbmybu7Y
Rac3C6KTtmDhF/mMlMjEezHUUdKBURbqFM/QnJSmB9I5AdlXZyhC0lbn2sAVNq4L
zdjmaEazJ+6JKx7Wqkh3i0RrWrik86Iy46o6Ou9lCTrqb/eBA1JOZfK6
=JUD+
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/bPA19e14IKz1IPKk8yZ2EcB88XOGhJmoxsHDxB3e9dCf
ZHo6dnX0zLwxZO4q4oIGjVBQRwD4LoMmFIZM11xLBEufvUth+jxVZofHT0aI4sBT
zYnB+VOT8rAXeoZpCh3Ytgy/zSQ04DuYtCL1sKA+fnwiIRtosbQEh5ybGvoGBjuM
9hzQ390NGnaTkTfSPFE+qhdkCFWtt0ptZ0JmInBX/eU1gftEydU96wWLGJn9HzPr
byI9IWOMI3d5eVxCHHDlqgHiSLYdEMHZZQ8e01AUAIQt7PkE8gywOGfpkCP00Zcx
PNtES/u/qg3YmAMa7JCsMlu+sU6l076Tb8HV8RnSCNJDAaIemQkcjpyB4cqYLP4W
knwSdO5eZmAVZCXSd4FlvA6zmIel7dTeu8QEht3D+492+1b4xuS2sapDWsctdTAZ
ZK0eBg==
=v6ko
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgApvhFQD1nK7fhjNLTtyZnXKqdhBfj/X8Jfy+qe3sVjwcM
HB0VqpJz2fQ92QcMA9c4teg/p72JTldxow1iaiJgGYUW4mGeXX1IvnV04jO1NaZL
/ZECPjcgmtjUePzyS/tWZ+am9ag0iY/Q1G4PqlgtWxI3XWGKk/fDcUp7suopNTD3
9xADS//cC4OMq14Pgd5LN9LYyoj51fCEN671Yz3//DfRUqlpKM05apPE1u8wHF3b
svNOjIXN3eqa4RxZFzP8xcGeIcERw+aWH/zi5ffmHIMgd5huiKfO70mmXZLQPj3l
SbHL3Gq5B4ryzBV6zUu8LOrv/YUGUik8h3lFEaZqwdI1AfrZ3VQNN30G/VE+iJxT
2KFIFVt4ktH5eYJ4a49f0KXNyWBKkBrhj0QfSBbqBrClyS+dcjY=
=TXu/
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/T4OLPgmLU6T+PCT3NEUuIGO1/Sww+2c6qsx1cLMCe5p1
U8fgja4qAZc0b9Nao4qxLzJajoQL5dEH66lhrFNcPYoi3iug2766MD5ZklQH1wzC
gM6ZmwzgxnG+QAHrktB7h9SfmxTBf51Sf0BuxBhmWdOO4BTbfhkXHEZXlHw/k6hm
AycJO1G2B8WKh5J935mqOHQPzOpmDCUGX5hWm6rjwQciSjGnhXqp2paLa/FIKTm4
dv+5TGINdW2KEi59IiJVmF79SoDg71bg6socRLPOBETY5Xg3s76Y6TSUKZL79Zky
CUy+vJlOE13cX5h3pl1dK2BMhgpy3zrDCF7I8AfIPNIxAUuy0u4ywgh0/bIzsoNr
n0SnSiGPKK39YtzHg3hajfFUJu093VKahZbClIOmuxQtfA==
=Ir/t
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundRsaEncryptGnupg2_0_17 Tests for:
    3DES.MD5.Uncompressed.asc
    AES192.SHA1.ZIP.asc
    AES256.SHA224.ZLIB.asc
    AES.SHA384.Uncompressed.asc
    BLOWFISH.SHA512.ZIP.asc
    CAST5.MD5.ZLIB.asc
-->
<textarea id="InboundRsaEncryptGnupg2_0_17">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf+NaZdd6Rs3YAYrNyqmtr2ZspCrIZPZYbIR02ObLOXC0SF
Z8NON7OaI8DsHAfyDwqukzb6JwS8Vzg5lE2O27bvXIR1IpWucz5uqFdHpxqUgf0P
6hOESH+pL4yS+NU5TzDf7HFby+8srLjfC4Ppml4WVD9EjzyVNpTJNTwg1k8XLDmx
sp3ttUNHb2sxKK52ovCxDdSgd/GS43dZ2MxZPS+o5IdxdKsVGSu3wqo3HILWDRYC
cbToWgIT2McwdaS97nLVINUAkLsMx6alSn6Rc05x7omct6Iuwd9zIZH/f2wwzaj1
YozrQOXFht0G8t84Tzf+4dHtsLG0xHVb08M0RUKXrdIxAXOZwQ8QCnqeW388p8xs
EimOf/a7yVnK/EJpqSzbjM9aS1jQC28xdNK7M9jwPRKBbA==
=R3Gm
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAk4hSlSX6O4FdZlVo4gbrpmMUhiySST2bbvipt+WbBZo5
A8VadC3JUjdsAYhRl5ieQkounqBkPycPsDgwnDzB8hStJEHtx0wuR4UMVoI0bzJZ
hzGktEQqfmc7tnGkyFTHPfvG2L9/odiFJavkC7Z4ih3+aGUdhWXeaGswoODzFT3n
LKuKXvMOXnFww1NUOWnfpZVEpNNIsboRdxKxKnytkpxOzTWAMNOnfdviaFzHfKR2
tA4sLinkkYAj2QcsiaRZv8NVLF2sF4gVb4aAjkxMSqQbgcuBVigNj4AOcCxbV6Zq
ZycZTRQRzpqlIvA3bmCBHPz++mozL5nCwDPCXxay9tI9ARJTesk2kucgKGwz7Sa4
RUA8C3Fif7l8/lnx8FualFRBD4GqrMo0x6SOEJiKHjVa70VAnd5wvFwVIubEAg==
=z+1Z
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf+OWfXfgVqDuqlLgcx+4zqO9BHblmkykaBELnXgDHThMqo
rmDwk9aFLceCcfzAgnBKZJ1bv814hlxgfMlCSzIJATmJ9eu5qneJdCrZAgh7MUGD
UjUVX/B7Z8zGl6CjYbc3RQF3Lr1ARy9xL0hiani5+5O+XVqq5+MTWS/NJgW19fEw
uHXdIWPHCXlThQi+gOSWWGMG5mlGdaFebmHTIEoG9Ve6XVX1cWgW7k+f07MIKHJW
HrGsbivCChrGk8ziucGIE+DxxQVEu/gS4epCotzs51arcwQ61UaN+ExVS39TJ0af
AD6YIN4pXJ/am04zhPYxi4vu4PZDl4xjvgzfLWMEqNJDAUmzTD8zEWvO0C0nyYKT
ibDD/eVmi3kxVlEeXrrtk5RaeMdWmwyFUjrL7sSW6oDyYQRlJzkJgoRECUmsg+7B
VFZTZw==
=9i8p
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAspD3RYFI8wumXMDRLTwvVdyMZYoRM6KAX1zy1X2h52kA
k3Xl/BVIIkQgwKtv5Nsz/0sragK6Q+ay25BDPwgMqGaiGWE/nTrU82GvJ9jcqESO
5EFtxlaD1H5KMb4NqFESxiE4I2A3gWMph8Byw7ZJmMvfxgDf9efSLVqTAqOI7AQl
t93myZP7h+olJ2PxSGjgiK3xLGrz7sv+hPwz+fw0t2Dyd36yWFSIQ4lTMHWpxDdB
BhvHEZBnldJCDUzqZq6HyDpyhCj3SdFkBWd46vmlJtf07E0fiDz2V7LCKNIbcREw
B+df36xTXSIwgH0VwW3pFkflYcOwJ7ARCbY4KJ4I/9I5AdBflhX42hMrgVv7unAl
C8vACYa9mRkZf0nCv/nhXGvznxt7V3Q4vGF4Kh2knr2mjRA/EFJRxUvI
=bX7G
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/Z9VvqOX3nMVC78YlsuHR+ZTh4Qx8RBq/6hcw+DtCwfLK
ssjmj0XemXwC3Tdzbdx6/AXsrUWT2VJ/3AlHyf7Vo2NnKx/WIBygfBd5FgsjR7ZY
ltAnufQLMj7m5/a/uxT2amcEhCGR2ba6MdMp5oWpbigpZO8RiuhHSl8vg0eeu0Ms
U9JSu7mBv6rOE2E7gi6yNflXAZmTT1DNNsbg3Ta5glMkBTG2Zh4/+gzd4IU3E1KT
KG+6dJoC3CUI3qSJHkbX3jrEn6VTdXffhmQ51QphwOpUrlIMGVeKlaYySleC1jeU
ZIxOHkO1cUOvJXEsrI3ECKgqtU/mwBhkDqOEdLP+T9I1AUJ8x86q5rJV4CDxAEh6
4nxinSZSV+4N+/odyACTq/px2qo3IovfDI6da10dBohYydzuEdE=
=69PI
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE-----
Version: GnuPG v2.0.17 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQf/Xp7JthwgYyc9fpuyoOU8STN2fUyfuYxaiSi3yVmGNMXP
IDs99IgOwwcIzRigj855t+Lx9lkvP2M0pmhtpA2PZ7CQAfcQ8OVV6t2zj9Yzlysd
FFvfalUdARGJiKasG5f3pUvcXYvrU3n9+Xjo8LxGC5QP/u3s5K/7qFsoMalpH1rE
ey3p/pVnLSInbILqQnvg94Ps9wQ7PBwl0Li/1YgLsFN1QXRpzjkc+9XpBzY9J6uE
E3ZfH2Bm27rpHsS+PaFTKnMS4bRRLANSCyXH06u2CBGYMKgiRYqHVIro0vZ70t8M
8o4L2rD9TZct6fHBHSP8gF9Uhi3GW2nT4G44IHC8YNI7AcR2cl3mu6b1VUMGhRZL
XqK648IMIjf8Ic0omn1m3jkr/SdCDVSTtqZH7SXblLtIPQ0MiIYON8esv3A=
=DBjN
-----END PGP MESSAGE-----
</textarea>
<textarea id="InboundRsaSignGnupg1_4_11">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

jA0EAwMCfczlcZZg7tRgycCNi57omz2PSEMp7NQvYkq1A9wwb78bXIU02SmGgo+j
H15ogS7m7Qk6uwi8MXqXQ3u4GgizmvdXAlQ/WGeg65owRyCqpVE7f0XmXpFBmIf4
dqsZZGJAMpsoHHl4dOo+lKRuVmS9KmWNnG8zPdLD4Pz8URdLxJCtNZHxlaP6M7BV
TzlH4hFEDJmfL1UTrXYQ/0NX1atKEvMd9qH4c/HPZUuD8uj39jZ4m4Geu1hsS1SN
LqEOCYb57DQrd/sg/kFH/gosRgYNAtlYHZwHaFsXSW0ORuRm3ODE8fjT+SlDth1g
hiDQojQ9sM8RRwdHEP2eNNuBZui8UfIqbvPZ7cH9TfeCfnAk6S3C8jWkSwvP/mqe
uISafsJDIfOVLDBZ+a1GQTPdTXvXBPO4iL00V4VgZXzSMvyLxuV2FJe8IneIl/uT
3YUiEg3rFgUqeUALwWh8
=DGn3
-----END PGP MESSAGE-----

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQEMAyMlJx+Vv4ahAQgAkOXalhkAxJ0M8kEiS4reFdvvd+eAsScZRaTnQsrVXmXZ
5+F9B3w30jfFTUWML62Co7DplC/qvzYD7fqczXyWHzneSI3hmU4Pc9gZhdKeROdj
SjV98twa7WqN1wrFQlGl/0OpyYXN+wd32F+YAL4xajFiQOINA/59Jc1ZCRtLWkfm
NGWuceK+eon7egNyRnLIzFDC9REHjL+QxhylqVHE6yOaTFK0uATWqHYv9bVDWJ8J
pKG7cxDZGGCPnq9DFmIyoFoD7NdeV/0PLcjKlAntXB6VsIVtg8xeKBu7/HIJ2sM1
4c7DlXcMd8pmHinRV1zVWIi/cHk2U+OTalfVAH/gVNLAsgFy/JaWdjYcDhi9mqdh
AzMa2i3Lp4kuBZeER8zbLFBR6tv3o+0qplAb0KZ2zmgydjAj6/Rk1kpeyJpUFeyd
GHqU4sg8j8S4OrnaTEwzWhoXSKWjErj3yshqLv4pMPGcKjqmFFl3HA1rnOInzEmx
ANB86fQOcU2oQOB85Q1XJO59trNVifNWz7VhWc2y3Gh3ZSwN56NctVCtr/4NdXMQ
9MPHDbvreCMQ6XR04sgK1OIGtQJTCW0rOtXa11tB4QVTblxxA/rBorMRqg6q1Hbv
RuEgx6MYPYGMTh9uUeht0t8kLOfa3wePlscwBGlxBdDFVscBCZe85cChe3DjhmTE
BH4IQdNSVZoyMryL2+5RThNCiDPnsA8A8gdiodWxOQb5qMlWg+o3JRLQbZ8iEzYI
gp+XUjD/wKHDrGQM0JzTX7aKyTU+zePnQPj8cWYVMeBUKgEuUHin3vhnF4JjCow7
RBTtuV4RUjFr6VfKXCL986s8jEw=
=yXHx
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundPlaintextGnupg1_4_11 Tests for:
    https://code.google.com/p/end-to-end/issues/detail?id=7
-->
<textarea id="InboundPlaintextGnupg1_4_11">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

owEBOwLE/ZANAwAIAUIGW1QB70MdAcsLYgBTjlghdGVzdAqJAhwEAAEIAAYFAlOO
WCEACgkQQgZbVAHvQx2GvBAAysBVNufueZW0ixqqQk7BbJy7/enrOpMH4ttaZMhm
7rkxG0PgFVUokuV+8gyijRXxg/nMhoz8M9pOyYBhpFyMVEUZSSRWGkt9Xg3cQJB2
jd6JojZopPQHPPOd/6pSByrFZEkvDvciDUCdlvt/Uxr6o9oYHNglzuX5jilJ7l+y
mNIa3l4Okr2DdJu8wOpqhah/Gev3T51GVkpxligYtk/mJm4pswsBOTlcOwQEqg6u
2xTuFU3q8BizH/oTGuT0mmSJbSy9d64nYhwPjQBpUz9fsTK8+MaPy0aAQ3jIOtmj
IZs6G0w20vLVzAkKI3brP/68oZ7Im4IRWqzHWG3wAkUrnmHDMlJyoviz7LmI2AVg
XZ5t3aq88oCJMIyMuu55qIxqsDwhlcpGE7nbVjvj62rODKhMp3FNPNjH234wS7iN
TNlxDKXDTHb34gxJ5QFesZ3+OfsTUvS5KtV/bizB+UBTnswWRDNBmwJyT2zvOqc2
TPhlfBzdobSKAbJ13aTC55SrADy1VMIPzam5mnX9tfhWvsf2ARBzsOSSCiYjE4xk
e7DRT5v9vaJKrXBReClUq1/9D0ZR0KdDV0bWfCplV18ecOzhL6PUFgHX6SlHjlOV
qvYGYiuG8xLR8S4ncS0MBaI3jcL/oUTsQ+43oP3+8Go7C3N/j7pIV6J7urnzKwIz
zdc=
=T2iD
-----END PGP MESSAGE-----
</textarea>
<!--
  InboundKeyGnuPg1_UserAttribute Tests for:
    https://code.google.com/p/end-to-end/issues/detail?id=33
-->
<textarea id="InboundKeyGnuPg1_UserAttribute">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQINBFOR5PUBEAClTPqRQvt1JlMiBVsR91D0mvN7ZMZ62DDtdEPWwgR3sEku6QkO
TLiwwsXUnoff9ayAGxqq2zGe7p09KbJb2apjSxJsDl2k5mtBTp293l3qDjjFv+fl
9/259MGx857Ykt1OCHOg32b/Rv2SNtKRwnbOafuXL17yR0a2eUoPcOBpRme53lc1
MzDHMnM8xtXyTNdyxcfVvbd9wKW26dPuA3IUZ3jNphRJduMwZvxXv7UV7zl7OqiC
wL3gLRn3oy33sRlcsPMubnRVrBmfpDQ1Xw+kMjDlI36abg/2rVshtNiSxvw4QniL
pIsCDuhe3RNc/ygIeA6DS12UzCwrX6dHFnoggUWJ1/Aw7p+KZpc3vbBj5rC4irD9
dFTAP2lnih3ZlELP0L9iC8W2iWzW4rUf3s9Ux+Y2jBHHDzAkROydWhfOqstKmsPD
fbNHj4+wSmefCVejaX6NkBUgCJJ8dRs0Fgxy51fvyFBT3YZziTH9NRzxNCZuQ279
ZKFLNYaQQBCAgoR/f1IVYo5/ZlE4Ca4PZupz0B9f2WUULNt4YCdtTCD69xbECuBj
LTsYATdDjLlSVzJ2BwOPs7gvdlVujdGGt3wvUbC/3XVS8WjyxOuQhE/cBc8jmldp
AiWQM5l4OtNzaJHtuHdFoRgOBHQVJjhARcLeA8RjxDsn1at//W0OzMwknwARAQAB
tCVqb2huIGRvZSAodGVzdCkgPGpvaG5kb2VAZXhhbXBsZS5jb20+iQI4BBMBAgAi
BQJTkeT1AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBMBzrgyERcDHxj
D/0VtU/KEX8bHcB6BZclEEtqdhL4iUh2dOuLIs/rlYBwlxuSfjWPXciuIg0Z3dM4
bLsvJafLjS0RawXFd86ohqD8tUMmcOwm31Yc/+HpE3IYrn/4HA9fLje139lrF4yH
xzB1fyWzv/rNk+aTMboGFJG/ivIVgKzdya+O972Vdzu4Ahopm5YB2Sh2pLTwKhgb
dnCgXzlUwZ5ddx9DYYQO7U6Gn5lX4Wkn1vwLRpgxieXIxsmJCEk60v9WLOD2f7By
I/FSPF+NgcTQutVtV3FGxoXmNfoSCY8wDX54wAzC1SA+0AMoAQby75P4CR34T2Hg
3ANLcL0Vb/By65OyZVpl6vUFy5eJo/eV3yaurhxx/oyD2jBp/RAoItedAuItszE0
nA9K9v9362ShbpcHv2aS7M5l41VzM2q57V3dNkEuyeocP50MlSKoRs0l8dRdcEjK
hVPizS5Ff+uYIZX6qYprPlaCThb2q279fJbxFatQgBm7RpgYWE6YxVgjQYnruSF0
Vuv+aF553hIH+/oT40Qz+yKngzfwn/jXwqtuK1HaR+A7P9sqSiK0+6Aytp0364I9
uy2PE78o4Q4Bb3xuUniItfMoUZwHGylg2idW4YiXHPMdZCgU9vcpU5WaHlF1A70f
JpLahVJxFZ1+pH7C0c20VrOakgxMDkCN8025SW9Vxrn1GtHD18PVARAAAQEAAAAA
AAAAAAAAAAD/2P/gABBKRklGAAEBAQEsASwAAP/hAIBFeGlmAABNTQAqAAAACAAE
ARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABO
AAAAAAAAASwAAAABAAABLAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAA8KAD
AAQAAAABAAAAtwAAAAD/2wBDAKBueIx4ZKCMgoy0qqC+8P//8Nzc8P//////////
////////////////////////////////////////////////2wBDAaq0tPDS8P//
////////////////////////////////////////////////////////////////
////////////wAARCAC3APADASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAA
AAECAwT/xAAkEAEBAAIBAgcBAQEAAAAAAAAAAQIREiExAyIyQVFScTNhE//EABcB
AQEBAQAAAAAAAAAAAAAAAAABAgP/xAAZEQEBAQEBAQAAAAAAAAAAAAAAEQESIQL/
2gAMAwEAAhEDEQA/AOYDSAAAAAAAAAAAAAAAAAAAAAAC4zldLjjb1nsltt2BZq2I
uOVxu4uWNx7+4MgAAAAAAAAAAAAAAAAAAAAAAAAAst7b1suOrqdUWWy7gLMd3Vuk
tt73Zbu7qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIKIRBUUAABTSEQXSdfab
ADWX1prL60pANZfWmsvrSkA1l9aay+tKQDWXxQABQAAAAAAABrUVrjF05V1rA2FK
wmo6WbTjCjGoajfGHGFPGRsKVzy6R08OSYy+9Z8T0VvD0Y/jWes6omlaC3QF6TYE
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
YUBHrkkYH+e9
=4JBj
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
 Tests for clearsign message signature verification of a multiline message.
 RSA.SHA1
 RSA.SHA224
 RSA.SHA256
 RSA.SHA384
 RSA.SHA512
-->
<textarea id="InboundClearSignKey">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org

mI0EUcy6DgEEAJb0T7gQlfKQWmR0dLUrueRMVy8UemcmxsdIH30/HqJvqO6xU0lK
NaFtaVxBdenAMpEooi1EcTi/bOKfz36FY/FARTiXv1LXuLzFJdPyjTYjh7tw+uOP
UlLJCTZikgrnM07txTUiVVEetOa+unyKn17EX0PlSpAbGZedyO0nGwXzABEBAAG0
BnRlc3QgNIi4BBMBAgAiBQJRzLoOAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX
gAAKCRAG/5ysCS2oCL2SA/9EV9j3T/TM3VRD0NvNySHodcxCP1BF0zm/M84I/WHQ
sGKmHStfCqqEGruB8E6NHQMJwNp1TzcswuxE0wiTJiXKe3w3+GZhPHdW5zcgiMKK
YLn80Tk6fUMx1zVZtXlSBYCN5Op/axjQRyb+fGnXOhmboqQodYaWS7qhJWQJilH6
iriNBFHMug4BBADDTMshHtyYhLmWC7793FlOFl5tkcEfdFKJRm30k/9yky4cuz//
Xe4uXM72SaTI1Dfi6UIz5ZuFTxw3bnAXav+SV4Q4dZo0hb4jU8YaQfDL4TsRp7uO
6iqxd8nlsh9JnBKE6Fk/CW5FoMZZ3/yEm3pq924Uv2AZlO6dafgXecyqNQARAQAB
iJ8EGAECAAkFAlHMug4CGwwACgkQBv+crAktqAhENwQAkMY/nds36KgzwfMPpxtB
aq8GbrUqY1r8lBl6a/bi8qeOuEgQmIxM2OpVPtL04c1c1hLflPCi1SQUlCIh3DkE
GQIcy0/wxUZdCvZK0mF5nZSq6tez3CwqbeOA4nBOLwbxho50VqxBpR4qypYrB2ip
ykxlwiqudEe0sE2b1KwNtVw=
=nHBL
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<textarea id="InboundClearSignMultilineMsg">

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQECAAYFAlOhmh0ACgkQBv+crAktqAiymgP+PwNJlaUOKNiV1iEEY6ynI8zl
23ideUpaew9ge/TVBOeZ5zebeNUxia47eHceNqiwm/Ok8hsUTI/VZqMw1XS4hzzx
Cd/cy2cDVZjr0qgEznFOrLs+ZW4LIbqvM1bXDINlEUqT8SNxmki2f7fZn5dCk6wf
c/fNYM0lQ/mOOio+LH4=
=4fNm
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA224


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQELAAYFAlOhmkcACgkQBv+crAktqAjMdgP+OXT6q9bPuL28q/R8HrhR1zLs
42i/PBaczIqsUctO8qUHF1RjxPe5EFAl8cjexqYl/iYJHl1dcWfNDWrfArrrBWwK
cUSZIW64nbVNleQKSK//eu0kUT+XPJhnv+UKy5HPGopx5s1JllZBY1EBDoV+WNbI
Fo1AIch7SAk+6kpAgeo=
=+J/g
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQEIAAYFAlOhmjQACgkQBv+crAktqAiSvQP9FroiMJUCmKyof/RhA6ZQIgKR
bEoop7BH8OIEV5mGCjR8eVhnA4b8AK545K+y0xdU22+oHSQrjqxasX4+CZJC9zTk
rQCTAqQ3S8dktC/iwnF5WeAkteGQ8i2gp1f/CSXGtgpkcd7PxA5ZJ4mvkRcTTJhj
8iNJXvk+GN/s3dPW+Nw=
=fYTy
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA384


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQEJAAYFAlOhmnkACgkQBv+crAktqAhYgwP+KpgdtDp6OSc+0fm1mfai01QV
LJu5KMP3R99PgETsq6pgNs8yfd9ZcCVPLQ3sYMIpscdAzs/v/rOOXueuN/1mib4S
MO8oX9kmdycP6TG2vPojUkz3t8ME7qm3ZcUPVg78GqTSHVXyMkikYq54qbiSw/LX
c+13Cr/S65qhrQLKhrA=
=5xCH
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQEKAAYFAlOhmfwACgkQBv+crAktqAghvQP+KqA6w5I/JpraPue1gN6caX+h
YDLouvaYZL4AVL4X0Y+pr6YuwUDhxDBhvhdUvoVqUe0TVtLeyawQf1FxR9140x2y
YZupZEFU+XsgCtxGNGRGRBLJqgcwWja4PvBspfYZQS1siQPPzq5VmO2+vwJCBpWb
MUebelYkRp89UkuLECA=
=bZ59
-----END PGP SIGNATURE-----

</textarea>
<!--
 Tests for clearsign message signature verification of a multiline message with
 unsupported algorithms.
 RSA.RIPEPD160
 RSA.MD5
-->
<textarea id="InboundClearSignKeyUnsupportedAlgo">
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQEDAAYFAlOhmuUACgkQBv+crAktqAgSYQP+LVVVu+AQGoJ74y/DjqscmV9E
MO4+Ixwhmy3Cc+TmBWgsJteRYVydk/gUgeh9mKoGS8VL+8mFv/VMAyUwloX33mS/
Fa0Gn9F1WPmvumJnYt/ibgqrPGw315scw6EKUccAH5SSEU7DixNL07nOPQVIuaxU
hvKLuDFPZvWKuWNj55A=
=wHxW
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: MD5


multiline
- --minus prepended
message
with lines padding

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iJwEAQEBAAYFAlOhmygACgkQBv+crAktqAgeawQAi3KbfMivbp4W3DM7F05v66gj
+gwt81TIKplNOJZh7fsLV4c/MPbxPGLSEg1Juqz4mgcJuBunS7NF78orkMByqtvD
t1/Wn5HW1AL35+aRXgkIyT/l4Gob2J2IlDwYOGUOq7W1lApK/dnFagTN5RAnbGxi
ySRHe67+rnOFmGEkxZE=
=HASW
-----END PGP SIGNATURE-----

</textarea>
<!--
 Tests for clearsign message signature verification of a one line message.
 RSA.SHA512
-->
<textarea id="InboundClearSignOnelineMsg">
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

test oneline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org

iJwEAQEKAAYFAlOgoEUACgkQBv+crAktqAgX1gP/e1q6wCTIJvyQDrs8tdDxJ8JS
rvkOjrdW88DIF48V8ho457JPNoFKzs4lD0XaRb0WvRNV3dMKlbv+aFTbudfWK8zr
R+Hf53lY7kk8qPhIa3jXFGOK6HwYHYXuIPP/FFoB0x83TmqMetxWRZI9elglObq8
UOmPAQP8h8OVluq3C7U=
=4bNh
-----END PGP SIGNATURE-----
</textarea>
<!--
  Tests for v3 signature packet parsing.
    Message taken from https://securesuisse.ch/transparency/
    Key from https://securesuisse.ch/contact-us/
  New: Signature Packet(tag 2)(533 bytes)
    Ver 3 - old
    Hash material(5 bytes):
      Sig type - Signature of a canonical text document(0x01).
      Creation time - Tue Dec 29 10:22:53 CET 2015
    Key ID - 0x2D4E21BD4D6F1800
    Pub alg - RSA Encrypt or Sign(pub 1)
    Hash alg - SHA512(hash 10)
    Hash left 2 bytes - 76 a6
    RSA m^d mod n(4096 bits) - ...
      -> PKCS-1
-->
<textarea id="KeyEncryptionDesktop10_3_2">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: Encryption Desktop 10.3.2 (Build 15413)

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
=LulV
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<textarea id="InboundClearSignEncryptionDesktop10_3_2">
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

We have received a total of:

0 legal requests to access customer data
0 requests were granted
0 requests were denied

Should these numbers change we&#8217;ll update this page accordingly. This
information was updated on December 29, 2015.

Brussels New Year's Eve attack plot foiled as police arrest two suspects -
December 29, 2015 - International Business Times
http://www.ibtimes.co.uk/brussels-new-years-eve-attack-plot-foiled-police-a
rrest-two-suspects-1535184


-----BEGIN PGP SIGNATURE-----
Version: Encryption Desktop 10.3.2 (Build 21165)
Charset: utf-8

wsFVAwUBVoJQ7S1OIb1NbxgAAQp2phAAsOQV/fL2hmn0Wgld96byKfMJU80llLck
9Hxo+AEVvstpKVwTqnwf4085G6r9jMMxnmZY0Zz9Pl9nqixkECUq9cVqAsZZDZcd
aHGd38oKL0PROuQwD893UElG8DY2HCwUCQgwCWVYdPfyv2KJG4hxCIaQA4X1u3vo
EWhouBT0lHjw0DthVFJy3hdNw1cDNlvGEf7zSlkx+LGEAfZgWHw0lTwPw/xZQr5L
DJhpb2APaim1ZmoJd9+Pn1oCJhWgptpRLSOYBoeyTpUK0pKKttyh+K2s/bQvsk9b
ZEVq74tB2KJOLx+PdiONFK53pMyZ3qfG+CEGu0qh88Au6L0U2yOhRJW41sG9zeYq
ZiO25EWRMElhrP1kZzR44rRR1db3xLnY8rT6MQe3G2KW04dAy+elSDeu45WATo0/
VqCVNEn0cN/n0tjUVF8gM423YJhdK8Slh5EMXHjiobL8CSvJ4q7DJx2MuQ/2g4Lj
BaAhXCvMJ9/LvNe4QG1c0aH5fDfEI5GBivGpQ6z8RX5horLtI0EQ/crndOxLSKee
49tRw0y1mAT+8onbQkxFDsyywi9bNc0uHY/7PFaW8URt2Kx6k7KLhUID/OzWyH6b
QvuHQ4Qlcs5QDtAuCzfKJxZYjz54AMB4YL+Gqg0xBy0sVaIbny5gJX7aOzjSbf2z
3awgn06klSw=
=jTa8
-----END PGP SIGNATURE-----
</textarea>
<!--
    Another test for v3 signatures.
      Message taken from: https://www.defcon.org/html/links/dc-transparency.html

    We do not provide a key, so this should not pass verification.
-->
<textarea id="InboundClearSignNoKeyEncryptionDesktop10_3_2">
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Transparency Report
March 17 2016

As of the date above, DEF CON has not received any National Security
Letters or any orders under the Foreign Intelligence Surveillance Act. DEF
CON does not have any knowledge of any search orders that have been issued
or carried out.

DEF CON will update this statement bi-monthly with any changes, the next
being on or before May 20, 2016.

For more information around what inspired this statement check out
https://www.canarywatch.org/.

The Dark Tangent

-----BEGIN PGP SIGNATURE-----
Version: Encryption Desktop 10.3.2 (Build 21274)
Charset: utf-8

wsBVAwUBVupOOzNailnD7iKSAQg8+wf+LkTeENj25/3zopyBmAdWBJaswdT/As2w
W7bHD3zhNlTJWoWhZWIGYL5NWLyEAyF4WHq5WeUoKJ4wA/SOBBASBvNbvXqymltx
tmEGCgroJvlYrc2OHQ7MR/aplqCdAYZ/AQ7Bv3jbPTQ0k3doSa2dmxkIUt9kaE7i
d6JnuGxtVnilSrj55vbrQsNujM37rEJ95c+gD49gRTp572ok9wJyRSPw1mh11+k6
e8HaeMGHWOW2ehBBtgoG7G3uu7Q85UoibhbGNTub6cQMfjVxddoQ8yIt1yimVJ0o
JAvg2nNGEsXR4TkT/iBTwhf2L5g7bMdN6u4Zg7QKkDIuso89M4bQtw==
=2cJT
-----END PGP SIGNATURE-----
</textarea>
<!--
  InboundKeyGnuPg1_DummyS2k:
  Test for keys exported with --export-secret-subkeys
  gnu-dummy S2K, algo: 3, SHA1 protection, hash: 2
-->
<textarea id="InboundKeyGnuPg1_DummyS2k">
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)

lQGqBFOMvH0RBADh/AeQ4Bod62WW2pLdBHf4spl3cIIuI+N1RowhtjjHchn/IUWH
v5U3bn3/WgtkxlCczyJkAkyZd0RihEG27S6rTCGRIROobIMkEiCjjoD3gIETh73S
ZSjaVPi6DZmLj59evOmQttuFRrWdFjioK+GHkH0++M3Z6SSl44RGAFG63wCgjka8
KaN2QVol4YiZsrsQGM0Dfw8D/iLyzJ8xOPVL6MpPbAlil19DanotBardRItq0dNB
VVWPZnOSqJsQPrsJ8ucHpP6bglTw8JWcotC/td4ZCwTsItsBRpQO4ww0DOxsB1J1
mUFuljvELDREKY+hktssA0kgI99pR7fxoBqH9jT9J0+nIkrshHzzi63sUB6dD79W
Du5hA/0Vt5IBzCR+slpDOQdgTYjP8zlc7zaBdx00nqqWwaESvpLlrWTsKHEy9Aos
UjUEzteJaTeVjWhePxML+BYw0NQGlhegJyaJ5DjkR123DjMzzqhDKf9nyTsz0hC/
eedaY8xA9+dPQ7HARw3ctFwt1GU3ruHgBYzteIlsKhND+Jvr0/4DZQJHTlUBtBtk
c2Fkc2EgPGRzYWRzYUBleGFtcGxlLmNvbT6IYgQTEQIAIgUCU4y8fQIbAwYLCQgH
AwIGFQgCCQoLBBYCAwECHgECF4AACgkQqk68WrT5VLLcJgCgjQa04buMNNWrSlCF
xjooQCelAVEAnjocTLHS3qNdN1FhrXZ3TSGzP0a7nQFYBFOMvH0QBADbPhobFxoU
wBmlU78ayj+1STMGqlOYLkEuDxhhnB9lRdaPiojaxd5rDbhMiM/wECcIgcr8xva8
WYhj3ltNQav3l2/3nZvU1luAUoEqkHC/ysNnAaQXlLhhmYHngHghRJnu+IuiRZR4
LCQas1L1+EwH4797C8dxAFB1YVBj3epBewADBQP8DEiLjdFF8ODCh9g7QL0w8Q3l
6stuQvGMGcF5IFaLsCr7Qyr4zmN+DcrainlCxYDO1YrWbFtNpRT1w6e2svb7Nh62
OfvnMO2hJ4npLOI1+PUsp1bQasdpJBLtR9C4SkSzAbpDqZujM5IdryWJ/WxnaXd6
MG2AuCVrtgdxVrHe+pz+AwMC0849ONfn6/Bgv9+9V5JBrCcZURzrJjIC+D9itak0
6K2wW4s5/JR6UFVOtbUg/ZY6t+sBghVvdnETgiVUehdDir1Ro8HCavOISQQYEQIA
CQUCU4y8fQIbDAAKCRCqTrxatPlUsg+iAJ9FmhN3L7OEvgp1eFsNZqB6eIKyHwCf
eBWY3NDypeD5aoV6x2db2M3X5Ro=
=aQLB
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<!--
Test for https://code.google.com/p/end-to-end/issues/detail?id=60
GnuPG places subkey revocation signature packet right after subkey
packet.
-->
<textarea id="InboundKeyGnuPg1_RevocationRightAfterSubKey">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
=80Vy
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
OpenKeychain 3.1.0-generated ECC key using P_256 curve.
Old: Public Key Packet(tag 6)(82 bytes)
    Ver 4 - new
    Public key creation time - Wed Jun 17 16:52:02 CEST 2015
    Pub alg - Reserved for ECDSA(pub 19)
    Unknown public key(pub 19)
Old: User ID Packet(tag 13)(25 bytes)
    User ID - Ecdsa <ecdsa@example.com>
Old: Signature Packet(tag 2)(122 bytes)
    Ver 4 - new
    Sig type - Positive certification of a User ID and Public Key packet(0x13).
    Pub alg - Reserved for ECDSA(pub 19)
    Hash alg - SHA256(hash 8)
    Hashed Sub: preferred symmetric algorithms(sub 11)(4 bytes)
        Sym alg - AES with 256-bit key(sym 9)
        Sym alg - AES with 192-bit key(sym 8)
        Sym alg - AES with 128-bit key(sym 7)
        Sym alg - Twofish with 256-bit key(sym 10)
    Hashed Sub: preferred hash algorithms(sub 21)(6 bytes)
        Hash alg - SHA256(hash 8)
        Hash alg - SHA512(hash 10)
        Hash alg - SHA384(hash 9)
        Hash alg - SHA224(hash 11)
        Hash alg - SHA1(hash 2)
        Hash alg - RIPEMD160(hash 3)
    Hashed Sub: preferred compression algorithms(sub 22)(3 bytes)
        Comp alg - ZIP <RFC1951>(comp 1)
        Comp alg - ZLIB <RFC1950>(comp 2)
        Comp alg - BZip2(comp 3)
    Hashed Sub: primary User ID(sub 25)(1 bytes)
        Primary - Yes
    Hashed Sub: signature creation time(sub 2)(critical)(4 bytes)
        Time - Wed Jun 17 16:52:02 CEST 2015
    Hashed Sub: features(sub 30)(critical)(1 bytes)
        Flag - Modification detection (packets 18 and 19)
    Hashed Sub: key flags(sub 27)(critical)(1 bytes)
        Flag - This key may be used to certify other keys
        Flag - This key may be used to sign data
        Flag - This key may be used for authentication
    Sub: issuer key ID(sub 16)(8 bytes)
        Key ID - 0x39FCD71E97045810
    Hash left 2 bytes - f7 0e
    Unknown signature(pub 19)
Old: Public Subkey Packet(tag 14)(86 bytes)
    Ver 4 - new
    Public key creation time - Wed Jun 17 16:52:02 CEST 2015
    Pub alg - Reserved for Elliptic Curve(pub 18)
    Unknown public key(pub 18)
Old: Signature Packet(tag 2)(97 bytes)
    Ver 4 - new
    Sig type - Subkey Binding Signature(0x18).
    Pub alg - Reserved for ECDSA(pub 19)
    Hash alg - SHA256(hash 8)
    Hashed Sub: signature creation time(sub 2)(critical)(4 bytes)
        Time - Wed Jun 17 16:52:02 CEST 2015
    Hashed Sub: key flags(sub 27)(critical)(1 bytes)
        Flag - This key may be used to encrypt communications
        Flag - This key may be used to encrypt storage
    Sub: issuer key ID(sub 16)(8 bytes)
        Key ID - 0x39FCD71E97045810
    Hash left 2 bytes - 5a c2
    Unknown signature(pub 19)

-->
<textarea id="InboundKeyOpenKeychain_ECDSA_ECDH_P256">
-----BEGIN PGP PUBLIC KEY BLOCK-----

mFIEVYGJkhMIKoZIzj0DAQcCAwSOLG0zDfX/HiNGHKrIGdkKNQrwvReOTioOe/Gz
kWoOndSfutg2Kt2jui33Ntg+O+ryn5gLYDZRGFMZbIbIuQOetBlFY2RzYSA8ZWNk
c2FAZXhhbXBsZS5jb20+iHoEExMIACIFCwkIBwoHFQgKCQsCAwQWAQIDAhkBBYJV
gYmSAp4BApsjAAoJEDn81x6XBFgQ9w4A/j5Vpn6X0ufZ+NVZnS9Etvc7g/+F+7ZO
TFNn3GjeDowkAQDI9sMtdTg/69IO26530V33hDGbm7yfsAPeDh/A3PfFOrhWBFWB
iZISCCqGSM49AwEHAgMERBGoCFTjhWoi3kwGzGSDsCQd1LVkKwP0uiveo0RhvnkH
bJgGLvvfpqPmueSz5kvcljlK8jOxace05oXEFJlhYQMBCAeIYQQYEwgACQWCVYGJ
kgKbDAAKCRA5/NcelwRYEFrCAQCrNob3ocYacl+Ihdn1IzAX+HrP+y0HpQ6oGj+k
loOWmgD/cqnS4j44g/d631O5exK3bw8QSS9mgWI4YAVAKlJ79UY=
=ZmtP
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
Private counterpart of the above key.
:secret key packet:
    version 4, algo 19, created 1434552722, expires 0
    unknown algorithm 19
:user ID packet: "Ecdsa <ecdsa@example.com>"
:signature packet: algo 19, keyid 39FCD71E97045810
    version 4, created 1434552722, md5len 0, sigclass 0x13
    digest algo 8, begin of digest f7 0e
    hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 10)
    hashed subpkt 21 len 6 (pref-hash-algos: 8 10 9 11 2 3)
    hashed subpkt 22 len 3 (pref-zip-algos: 1 2 3)
    hashed subpkt 25 len 1 (primary user ID)
    critical hashed subpkt 2 len 4 (sig created 2015-06-17)
    critical hashed subpkt 30 len 1 (features: 01)
    critical hashed subpkt 27 len 1 (key flags: 23)
    subpkt 16 len 8 (issuer key ID 39FCD71E97045810)
    unknown algorithm 19
:secret sub key packet:
    version 4, algo 18, created 1434552722, expires 0
    unknown algorithm 18
:signature packet: algo 19, keyid 39FCD71E97045810
    version 4, created 1434552722, md5len 0, sigclass 0x18
    digest algo 8, begin of digest 5a c2
    critical hashed subpkt 2 len 4 (sig created 2015-06-17)
    critical hashed subpkt 27 len 1 (key flags: 0C)
    subpkt 16 len 8 (issuer key ID 39FCD71E97045810)
    unknown algorithm 19
-->
<textarea id="InboundKeyOpenKeychain_ECDSA_ECDH_P256_Private">
-----BEGIN PGP PRIVATE KEY BLOCK-----

lKUEVYGJkhMIKoZIzj0DAQcCAwSOLG0zDfX/HiNGHKrIGdkKNQrwvReOTioOe/Gz
kWoOndSfutg2Kt2jui33Ntg+O+ryn5gLYDZRGFMZbIbIuQOe/gkDCKIW4R4Fch/L
kLDSatJgkQz0+Sno53mWv/9VfjRNfp/Vn3HMyYqE4JcJnkYsg5UgsTxCCDt3PWNA
ADJWkHc0yuzo/6NYvSIFupbrJFdxtdq0GUVjZHNhIDxlY2RzYUBleGFtcGxlLmNv
bT6IegQTEwgAIgULCQgHCgcVCAoJCwIDBBYBAgMCGQEFglWBiZICngECmyMACgkQ
OfzXHpcEWBD3DgD+PlWmfpfS59n41VmdL0S29zuD/4X7tk5MU2fcaN4OjCQBAMj2
wy11OD/r0g7brnfRXfeEMZubvJ+wA94OH8Dc98U6nKkEVYGJkhIIKoZIzj0DAQcC
AwREEagIVOOFaiLeTAbMZIOwJB3UtWQrA/S6K96jRGG+eQdsmAYu+9+mo+a55LPm
S9yWOUryM7Fpx7TmhcQUmWFhAwEIB/4JAwiiFuEeBXIfy5DuQG8hAHJbG1SOPJ8F
xOPx++PGWtyVXGHziHQR4TU8UNIh243MMPY8ysUKwrT03v1j81f5cgN8yiCdViq9
MnFYCF2ptnspiGEEGBMIAAkFglWBiZICmwwACgkQOfzXHpcEWBBawgEAqzaG96HG
GnJfiIXZ9SMwF/h6z/stB6UOqBo/pJaDlpoA/3Kp0uI+OIP3et9TuXsSt28PEEkv
ZoFiOGAFQCpSe/VG
=TWSc
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<!--
Message encrypted with OpenKeychain to the above P256 key.
Old: Public-Key Encrypted Session Key Packet(tag 1)(126 bytes)
    New version(3)
    Key ID - 0x0038DD4CEDE6B441
    Pub alg - Reserved for Elliptic Curve(pub 18)
        unknown(pub 18)
        -> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
New: Symmetrically Encrypted and MDC Packet(tag 18)(191 bytes)
    Ver 1
    Encrypted data [sym alg is specified in pub-key encrypted session key]
        (plain text + MDC SHA1(20 bytes))
-->
<textarea id="Inbound_ECDSA_ECDH_P256_OpenKeychain">
-----BEGIN PGP MESSAGE-----

hH4DADjdTO3mtEESAgMEbJ1bEzi00pBsA4ZD22spKfpchpsxDEw62HFvvWWuVOWB
/0NrVAQ0SJ1x2FmMiM/B9NsWVoFU7uRi1FjLhr/s2DCcNSb0cDUNqeMQMzkwOBEf
wR8Fkw9buMNQMokHjaXs0auW2ohn22BxuwbQwZEmHXvSvwEjwN66H0XY+a7/M6c8
DnHSFaBXb3lhD0nxdSQ2L15BsKQOioF6zQU51nUyR9PT5j9o7PSdH2g6pn7gOl8A
PRgzQGSSzNHL1g080lS+7zg7QsZiab11+H/7PzFDUVUlteFhH0ZA0l70nx8wbuhV
5BhH75Pic2OoclBpvhFl+QtYGwZKh3NB8/Y8NHk6D70ENRo1gZg5YMc/Fx98v9r2
7o2apzlKGe01uevHr2FMR5s/b59xgUVRMqPQF1aflyPx
=XF2D
-----END PGP MESSAGE-----
</textarea>

<!--
OpenKeychain 3.1.0-generated ECC key using P_521 curve.
Key is invalid as it uses too short SHA-256 hash in the signature.
See https://github.com/open-keychain/open-keychain/issues/1353
Old: Public Key Packet(tag 6)(147 bytes)
    Ver 4 - new
    Public key creation time - Wed Jun 17 17:08:33 CEST 2015
    Pub alg - Reserved for ECDSA(pub 19)
    Unknown public key(pub 19)
Old: User ID Packet(tag 13)(32 bytes)
    User ID - Ecdsa 521 <ecdsa521@example.com>
Old: Signature Packet(tag 2)(189 bytes)
    Ver 4 - new
    Sig type - Positive certification of a User ID and Public Key packet(0x13).
    Pub alg - Reserved for ECDSA(pub 19)
    Hash alg - SHA256(hash 8)
    Hashed Sub: preferred symmetric algorithms(sub 11)(4 bytes)
        Sym alg - AES with 256-bit key(sym 9)
        Sym alg - AES with 192-bit key(sym 8)
        Sym alg - AES with 128-bit key(sym 7)
        Sym alg - Twofish with 256-bit key(sym 10)
    Hashed Sub: preferred hash algorithms(sub 21)(6 bytes)
        Hash alg - SHA256(hash 8)
        Hash alg - SHA512(hash 10)
        Hash alg - SHA384(hash 9)
        Hash alg - SHA224(hash 11)
        Hash alg - SHA1(hash 2)
        Hash alg - RIPEMD160(hash 3)
    Hashed Sub: preferred compression algorithms(sub 22)(3 bytes)
        Comp alg - ZIP <RFC1951>(comp 1)
        Comp alg - ZLIB <RFC1950>(comp 2)
        Comp alg - BZip2(comp 3)
    Hashed Sub: primary User ID(sub 25)(1 bytes)
        Primary - Yes
    Hashed Sub: signature creation time(sub 2)(critical)(4 bytes)
        Time - Wed Jun 17 17:08:33 CEST 2015
    Hashed Sub: features(sub 30)(critical)(1 bytes)
        Flag - Modification detection (packets 18 and 19)
    Hashed Sub: key flags(sub 27)(critical)(1 bytes)
        Flag - This key may be used to certify other keys
        Flag - This key may be used to sign data
        Flag - This key may be used for authentication
    Sub: issuer key ID(sub 16)(8 bytes)
        Key ID - 0x7257CF4D2BA778AD
    Hash left 2 bytes - 87 c6
    Unknown signature(pub 19)
Old: Public Subkey Packet(tag 14)(151 bytes)
    Ver 4 - new
    Public key creation time - Wed Jun 17 17:08:33 CEST 2015
    Pub alg - Reserved for Elliptic Curve(pub 18)
    Unknown public key(pub 18)
Old: Signature Packet(tag 2)(164 bytes)
    Ver 4 - new
    Sig type - Subkey Binding Signature(0x18).
    Pub alg - Reserved for ECDSA(pub 19)
    Hash alg - SHA256(hash 8)
    Hashed Sub: signature creation time(sub 2)(critical)(4 bytes)
        Time - Wed Jun 17 17:08:33 CEST 2015
    Hashed Sub: key flags(sub 27)(critical)(1 bytes)
        Flag - This key may be used to encrypt communications
        Flag - This key may be used to encrypt storage
    Sub: issuer key ID(sub 16)(8 bytes)
        Key ID - 0x7257CF4D2BA778AD
    Hash left 2 bytes - 25 a5
    Unknown signature(pub 19)
-->
<textarea id="InboundKeyOpenKeychain_ECDSA_ECDH_P521_bug1353">
-----BEGIN PGP PUBLIC KEY BLOCK-----

mJMEVYGNcRMFK4EEACMEIwQBu5yuGF+FhJeOB6HjLUEwF8qgGKDxxhOjCdqoMnQ2
YgVe+xsjeSYUjUTpp4by2nwuSfcDjDfUHQrPTwk1j83nLwkAFOT9y8Ij+jHaX5Rq
YUXDLMU1ULYpzCWk+Drl4GdRxDCFBpy71iEFox/RFVu6lOXBFe/AmmLBh8aAEDeg
jDL9exy0IEVjZHNhIDUyMSA8ZWNkc2E1MjFAZXhhbXBsZS5jb20+iL0EExMIACIF
CwkIBwoHFQgKCQsCAwQWAQIDAhkBBYJVgY1xAp4BApsjAAoJEHJXz00rp3ith8YC
CQHZ0q426Eo8Y2qwxMzR8pffZg+jHBNd/UR7GTYYh0VLQzgJTxJXlUkWyWDOalEu
heGCj1txH+E4c9FskePayI+iIwIIp3db23oZ6R3i/Ll01axWVnrEqw4BxGixpeTX
nBgXm/bQpJKFj37IPM0Jbkytsbh+BVt91qduJ88F/Tf1LF/gCB+4lwRVgY1xEgUr
gQQAIwQjBABiF4MOcjNekpP98s90WBiTMAXC7Sjuo427p3io2kYMlW8MhxJnjI/y
7k5ZeUBwznUz+WP7Dd+r9VjjOAq0SB2GWwDgqcIzPws7eVs+QDU/VDjoVMEdg97p
TBnum01XuV+SXDM2AvBc5y3tLB6lr12X44C+2L9zwww/JJfGBFVSm/RKsgMBCAeI
pAQYEwgACQWCVYGNcQKbDAAKCRByV89NK6d4rSWlAgkBYvmu94R7+hxwQTy7Mbh5
Dj4BNaPHFbjXS90rYIGEZYYezvFFNHVLBDD/7pLPSScavub6vEEyOVAegmb1YE3w
ewUCAgO70gMgawX3tAQVt7oTmpoRj+cqTuP4hRNxs4uDz/faaCmPE64uKzwv/ftu
w7E9Y/YqHaZqrBHVbba53gP8Y0HW
=DXu0
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
ECDSA/ECDH key created with GnuPG 2.1.5 using P_256 curve.
# off=0 ctb=98 tag=6 hlen=2 plen=82
:public key packet:
    version 4, algo 19, created 1434973135, expires 0
    pkey[0]: [72 bits] nistp256 (1.2.840.10045.3.1.7)
    pkey[1]: [515 bits]
    keyid: 0818CA3A55C666AE
# off=84 ctb=b4 tag=13 hlen=2 plen=47
:user ID packet: "gpg21_p256@example.com <gpg21_p256@example.com>"
# off=133 ctb=88 tag=2 hlen=2 plen=121
:signature packet: algo 19, keyid 0818CA3A55C666AE
    version 4, created 1434973135, md5len 0, sigclass 0x13
    digest algo 10, begin of digest 55 10
    hashed subpkt 2 len 4 (sig created 2015-06-22)
    hashed subpkt 27 len 1 (key flags: 03)
    hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 3)
    hashed subpkt 21 len 4 (pref-hash-algos: 10 9 8 11)
    hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
    hashed subpkt 30 len 1 (features: 01)
    hashed subpkt 23 len 1 (key server preferences: 80)
    subpkt 16 len 8 (issuer key ID 0818CA3A55C666AE)
    data: [256 bits]
    data: [255 bits]
# off=256 ctb=b8 tag=14 hlen=2 plen=86
:public sub key packet:
    version 4, algo 18, created 1434973135, expires 0
    pkey[0]: [72 bits] nistp256 (1.2.840.10045.3.1.7)
    pkey[1]: [515 bits]
    pkey[2]: [32 bits]
    keyid: F89934E4D8113B1B
# off=344 ctb=88 tag=2 hlen=2 plen=97
:signature packet: algo 19, keyid 0818CA3A55C666AE
    version 4, created 1434973135, md5len 0, sigclass 0x18
    digest algo 10, begin of digest 82 d1
    hashed subpkt 2 len 4 (sig created 2015-06-22)
    hashed subpkt 27 len 1 (key flags: 0C)
    subpkt 16 len 8 (issuer key ID 0818CA3A55C666AE)
    data: [255 bits]
    data: [256 bits]
-->
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P256">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

mFIEVYfzzxMIKoZIzj0DAQcCAwQEkXu4nElf1Kfa+aP0rb9CJHWYFv9mgqvysuwH
0Hwni0EAFx83YYTQSRBUkbqCysbzjhORwYBhualBtMr1kHFStC9ncGcyMV9wMjU2
QGV4YW1wbGUuY29tIDxncGcyMV9wMjU2QGV4YW1wbGUuY29tPoh5BBMTCgAhBQJV
h/PPAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEAgYyjpVxmauVRABAMf4
ZCDDdDp+1scv+NGB7k8r9dtc/9QcRUUnsiNa4yRGAP9LK5ITIA+PV/vtB09QmpCP
/9aOpSZzKyfjceQle7CWorhWBFWH888SCCqGSM49AwEHAgME7mKFDQJzG531qYVj
8NV6vhQL6bKpgpPl5FqayFy1BhFv3+2EBZWJr9T24zSB1frLY14iTss5Mt3rY3yS
VwiPugMBCAeIYQQYEwoACQUCVYfzzwIbDAAKCRAIGMo6VcZmroLRAP9Hp6IOOMn9
EVpsciIEykv74rLmWN/qFAVplmgx2TtvogEArLOz1qvB+ekNqKjuootKKy1TF3bY
6q3VAEAzGq5CPtQ=
=6AIQ
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
Private key for the above key.
# off=0 ctb=94 tag=5 hlen=2 plen=166
:secret key packet:
    version 4, algo 19, created 1434973135, expires 0
    pkey[0]: [72 bits] nistp256 (1.2.840.10045.3.1.7)
    pkey[1]: [515 bits]
    iter+salt S2K, algo: 7, SHA1 protection, hash: 2, salt: 848CF649FF3938E7
    protect count: 15728640 (222)
    protect IV:  95 2e e6 3e 96 05 2c d4 3a 28 64 d5 c3 cc 9e a7
    skey[2]: [v4 protected]
    keyid: 0818CA3A55C666AE
# off=168 ctb=b4 tag=13 hlen=2 plen=47
:user ID packet: "gpg21_p256@example.com <gpg21_p256@example.com>"
# off=217 ctb=88 tag=2 hlen=2 plen=121
:signature packet: algo 19, keyid 0818CA3A55C666AE
    version 4, created 1434973135, md5len 0, sigclass 0x13
    digest algo 10, begin of digest 55 10
    hashed subpkt 2 len 4 (sig created 2015-06-22)
    hashed subpkt 27 len 1 (key flags: 03)
    hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 3)
    hashed subpkt 21 len 4 (pref-hash-algos: 10 9 8 11)
    hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
    hashed subpkt 30 len 1 (features: 01)
    hashed subpkt 23 len 1 (key server preferences: 80)
    subpkt 16 len 8 (issuer key ID 0818CA3A55C666AE)
    data: [256 bits]
    data: [255 bits]
# off=340 ctb=9c tag=7 hlen=2 plen=170
:secret sub key packet:
    version 4, algo 18, created 1434973135, expires 0
    pkey[0]: [72 bits] nistp256 (1.2.840.10045.3.1.7)
    pkey[1]: [515 bits]
    pkey[2]: [32 bits]
    iter+salt S2K, algo: 7, SHA1 protection, hash: 2, salt: 709179C1C3A3E212
    protect count: 15728640 (222)
    protect IV:  d2 ca b7 4e 47 ba 18 b3 14 6a 84 3d 58 8b c1 c4
    skey[3]: [v4 protected]
    keyid: F89934E4D8113B1B
# off=512 ctb=88 tag=2 hlen=2 plen=97
:signature packet: algo 19, keyid 0818CA3A55C666AE
    version 4, created 1434973135, md5len 0, sigclass 0x18
    digest algo 10, begin of digest 82 d1
    hashed subpkt 2 len 4 (sig created 2015-06-22)
    hashed subpkt 27 len 1 (key flags: 0C)
    subpkt 16 len 8 (issuer key ID 0818CA3A55C666AE)
    data: [255 bits]
    data: [256 bits]
-->
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P256_Private">
-----BEGIN PGP PRIVATE KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

lKYEVYfzzxMIKoZIzj0DAQcCAwQEkXu4nElf1Kfa+aP0rb9CJHWYFv9mgqvysuwH
0Hwni0EAFx83YYTQSRBUkbqCysbzjhORwYBhualBtMr1kHFS/gcDAoSM9kn/OTjn
3pUu5j6WBSzUOihk1cPMnqcaUC3ME1sfxh26xLSvMtBbcWG6jzGdqf2e8OGjb50r
/xp83kY25gRwz6ZJ71oBFhF4AxbxDusXtC9ncGcyMV9wMjU2QGV4YW1wbGUuY29t
IDxncGcyMV9wMjU2QGV4YW1wbGUuY29tPoh5BBMTCgAhBQJVh/PPAhsDBQsJCAcD
BRUKCQgLBRYCAwEAAh4BAheAAAoJEAgYyjpVxmauVRABAMf4ZCDDdDp+1scv+NGB
7k8r9dtc/9QcRUUnsiNa4yRGAP9LK5ITIA+PV/vtB09QmpCP/9aOpSZzKyfjceQl
e7CWopyqBFWH888SCCqGSM49AwEHAgME7mKFDQJzG531qYVj8NV6vhQL6bKpgpPl
5FqayFy1BhFv3+2EBZWJr9T24zSB1frLY14iTss5Mt3rY3ySVwiPugMBCAf+BwMC
cJF5wcOj4hLe0sq3Tke6GLMUaoQ9WIvBxI8EQTvzpeCC5CDvFdE9br6dqXKd9tgY
7Brh4jHQjxAP2coq9LEzfCIAeb8GHyuj4koI3LXplcKIYQQYEwoACQUCVYfzzwIb
DAAKCRAIGMo6VcZmroLRAP9Hp6IOOMn9EVpsciIEykv74rLmWN/qFAVplmgx2Ttv
ogEArLOz1qvB+ekNqKjuootKKy1TF3bY6q3VAEAzGq5CPtQ=
=AZJ5
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<!--
Message encrypted and signed with the above keypair.
gpg: encrypted with 256-bit ECDH key, ID D8113B1B, created 2015-06-22
      "gpg21_p256@example.com <gpg21_p256@example.com>"
# off=0 ctb=84 tag=1 hlen=2 plen=126
:pubkey enc packet: version 3, algo 18, keyid F89934E4D8113B1B
    data: [515 bits]
    data: [392 bits]
# off=128 ctb=d2 tag=18 hlen=2 plen=174 new-ctb
:encrypted data packet:
    length: 174
    mdc_method: 2
# off=149 ctb=a3 tag=8 hlen=1 plen=0 partial
:compressed packet: algo=2
# off=151 ctb=90 tag=4 hlen=2 plen=13
:onepass_sig packet: keyid 0818CA3A55C666AE
    version 3, sigclass 0x00, digest 10, pubkey 19, last=1
# off=166 ctb=cb tag=11 hlen=2 plen=12 new-ctb
:literal data packet:
    mode b (62), created 1434973462, name="",
    raw data: 6 bytes
# off=180 ctb=88 tag=2 hlen=2 plen=94
:signature packet: algo 19, keyid 0818CA3A55C666AE
    version 4, created 1434973466, md5len 0, sigclass 0x00
    digest algo 10, begin of digest d5 49
    hashed subpkt 2 len 4 (sig created 2015-06-22)
    subpkt 16 len 8 (issuer key ID 0818CA3A55C666AE)
    data: [255 bits]
    data: [256 bits]
-->
<textarea id="Inbound_ECDSA_ECDH_P256_Gnupg_2_1_5">
-----BEGIN PGP MESSAGE-----
Comment: GPGTools - https://gpgtools.org

hH4D+Jk05NgROxsSAgMEmmA2SWhvLNxtvvgM7UTS3wHKT+9Qv4nohN068VclO99w
wt8gXklfc4jMuer2N0alB6j9lxz+bF9s0CDJXar2QjAVj6L+7vSnlTUbRgeaA5+/
tyKbxTeiMjMXN3AVpJbfJVFxIzbZDrb2WC7E68yOAZrSrgFosdNQtnDLR6z7dtlw
0aBBf71JC7K5OpnHCNxHG6yfuqwJMtdsTSPxxvq2OlQNO2fA4NEdOO5nco+ux4eX
PlBJOeVq+NiKUwXLl2IH0N+9fgTnUCyXRabmOMvGtck9YyjPSayyFhIiVKa+Am49
xPX3qHTf9i7qJ2VGK+2B/h7ReJaTx7E4o2vzlGwRWJ/xvb1Qui1ixKRwjn2/+yut
EVo2ay/cyIJZs8+t7NaE2g==
=zSfU
-----END PGP MESSAGE-----
</textarea>
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P384">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

mG8EVYh67BMFK4EEACIDAwT89Q3wJJMbkWpn6K781MjmCCaXsO2Yrni8nRqUO0Jy
/IRRvyQUQFwkPlOFGls9Jow/wuQ+e+LzpilCAiCsjIabVOn8E6POrk7aX+2hEVvP
h+fWX5FWFQVHhRHlTE8YwJy0IWdwZzIxcDM4NCA8Z3BnMjFwMzg0QGV4YW1wbGUu
Y29tPoiZBBMTCgAhBQJViHrsAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJ
EG73wu4hz8jwLLYBgOAqkyN0pUAhCpBeep/q9bJ8Ngqpjm19Mpt0SPMK/WCObSEy
GSf/gOs0GFdeRvYtbwGAg03eKfIxh8WuyoCltVxD4DLXfaDcHpJ8Ljnqr11wf+iO
zeDFbvTnI+xvyFKkGQjyuHMEVYh67BIFK4EEACIDAwTrI7z0pCt93EAbYtV40HD2
uuyMfVkoUVBrNvOyRQn1cXF6bO55YoLLVg2Q9TcKoR8GE84lSHl35Y+piAgSvn3V
/tgD6WKT0DGok67WW7GmI7pptGoDUUhSXb5nL1kYEi8DAQkJiIEEGBMKAAkFAlWI
euwCGwwACgkQbvfC7iHPyPChsQF/bppdagCf6/JLRa5nWJAYxtDospe6kwCpS/+1
xb26oiI3rSpjpZ8UN/QSb9GECImbAXsHTUFmPPNsvTeXvn7kNxWgRjqd88E0lsY/
/WgGGLP83B2OLNkLb3emRpDQx0xMITI=
=Z9h1
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P384_Private">
-----BEGIN PGP PRIVATE KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

lNIEVYh67BMFK4EEACIDAwT89Q3wJJMbkWpn6K781MjmCCaXsO2Yrni8nRqUO0Jy
/IRRvyQUQFwkPlOFGls9Jow/wuQ+e+LzpilCAiCsjIabVOn8E6POrk7aX+2hEVvP
h+fWX5FWFQVHhRHlTE8YwJz+BwMCTbZcGgevVRreMw+wcWl/KTZ5A0bHEMX5eYtT
5of9t4CNogLFw1clStLqq+veG0fJWxY7T+GYJxVj/MtVNzNK1fZfquzr9OwkSjGh
Iy0dB6QZb99qt6M22p9IjoEtgoG0IWdwZzIxcDM4NCA8Z3BnMjFwMzg0QGV4YW1w
bGUuY29tPoiZBBMTCgAhBQJViHrsAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheA
AAoJEG73wu4hz8jwLLYBgOAqkyN0pUAhCpBeep/q9bJ8Ngqpjm19Mpt0SPMK/WCO
bSEyGSf/gOs0GFdeRvYtbwGAg03eKfIxh8WuyoCltVxD4DLXfaDcHpJ8Ljnqr11w
f+iOzeDFbvTnI+xvyFKkGQjynNYEVYh67BIFK4EEACIDAwTrI7z0pCt93EAbYtV4
0HD2uuyMfVkoUVBrNvOyRQn1cXF6bO55YoLLVg2Q9TcKoR8GE84lSHl35Y+piAgS
vn3V/tgD6WKT0DGok67WW7GmI7pptGoDUUhSXb5nL1kYEi8DAQkJ/gcDAk0o9zrJ
iX5s3lev87Po5GrLI8KyLzdaFe01Vqoq3CG7SWIRSxXZSTXwrCDJ/wqEqx7SeQBC
ljn8pbgzPDmybFm19K6QC6+7iX4h8AGyF7pIxr1/rJNxHMTbuYuqGtgTiIEEGBMK
AAkFAlWIeuwCGwwACgkQbvfC7iHPyPChsQF/bppdagCf6/JLRa5nWJAYxtDospe6
kwCpS/+1xb26oiI3rSpjpZ8UN/QSb9GECImbAXsHTUFmPPNsvTeXvn7kNxWgRjqd
88E0lsY//WgGGLP83B2OLNkLb3emRpDQx0xMITI=
=prJM
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<textarea id="Inbound_ECDSA_ECDH_P384_Gnupg_2_1_5">
-----BEGIN PGP MESSAGE-----
Comment: GPGTools - https://gpgtools.org

hJ4DHGTZqboOYrASAwMEtYUeDDJwqxZtXs5yl57p4r09P1dkJmYa5/OLAFlP2OSJ
84kDtk9YxA76XK0dsuiK8nqPwtMhfJyMAablGHWYXYaOchWOPNGPcRcGfNwDBQ6y
kWmmlFxW86RWj+Hhp+auMN3hTp0KmxtLWSrqjbsR41EhXdNURgsAAJ1C/w2ERxhw
M1XpaF3di/XbRWwLpkIRMNLAEAEzoZLHEmyrRUgWGIz3+28XABGgd0wmbrUG0igP
ZaTrPV7lnW15qHQA35EcCgsuABZK3oKzBgEIXv3qHIxEQyul42OR+MRLicSjN0DP
5qEMgPPKI9QM4oGSnqiKoZRjI4UWtSQoqUtyk0loU5Zp9fWtxAOfE4lb7pz0BpT2
7QTibMqODtHQuv8qZFFDrE0h4U42b1Cl+UTZgAgLD4KDwdCDjdZyQWkJLbbLj9Jn
4meJ3euvbhmJiDvbS+LFBU3wCXAvtYILOxkSuIrTOkBE6xg=
=Ysdz
-----END PGP MESSAGE-----
</textarea>
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P521">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

mJMEVYh/7BMFK4EEACMEIwQANhjHlYst9EvUfVlNoZ3s2JD1TtEFUlgewo+fRGNu
JDAIEBpEc8PCdxPxBZr56qnQjEuaFNJzJiM5EMkPV44RYbYA4K4zEpVe9BlW0l7n
ledDGpc8H0+2cTtaqYnxVsDJ1SCD+nYbjIpLqaYxGgJuz3R2iyfvOYAZgk9qM8b4
jM0SE0a0IWdwZzIxcDUyMSA8Z3BnMjFwNTIxQGV4YW1wbGUuY29tPoi8BBMTCgAh
BQJViH/sAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEGRcqQKef3Oxc1MC
B3vQGNAAqlTmIipCLIVQON+PEz4EUsrUbDIVg2HLEumeWh/vCaVvouFFpoBGAnYY
GLq1gIzIurgR9TLu1MewPMEbAgkBhYqqV43UtdF2Z5UmyMbderDbbCdW+lCEH8m+
lUIxl/JGcMW7m4AwFPo5uIqf+FqcG6X+smwcWADyC8qXqQYcZ9a4lwRViH/sEgUr
gQQAIwQjBAHtNhqjtxk3LMMGtDs1KvHz2rEg6aYVewON5fKtjuI6KI+lmakXKB90
a2elz5yTXEI62h0/TxaJur/eJqMsvJApkAAd17+it6Yw5U2FGg+9CzVMcLtslPaW
7jbbVpYxueBXh/+TtE1OpoP6ZkDCkO3zCeR/CELDViBhefdKnDhq8Q7xnQMBCgmI
pAQYEwoACQUCVYh/7AIbDAAKCRBkXKkCnn9zsXJjAgkBH54W+57W01hrRNwtNgkr
JRpcTAPuQTWK4rDiccHtR5CJgCSi24ig+jHu4szCWWQoKPECz+yAVgK4Xpn49JuX
w0cCBix5sLuRl0d0kY3JCER2N/9OksKE58votYgrZLpcWlxkRp0JnA16IvLVEwqe
2mlbxCraQAWqt3hxwo/J+bXvh/X+
=DB0Q
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<textarea id="InboundKeyGnupg_2_1_5_ECDSA_ECDH_P521_Private">
-----BEGIN PGP PRIVATE KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

lgAAAQgEVYh/7BMFK4EEACMEIwQANhjHlYst9EvUfVlNoZ3s2JD1TtEFUlgewo+f
RGNuJDAIEBpEc8PCdxPxBZr56qnQjEuaFNJzJiM5EMkPV44RYbYA4K4zEpVe9BlW
0l7nledDGpc8H0+2cTtaqYnxVsDJ1SCD+nYbjIpLqaYxGgJuz3R2iyfvOYAZgk9q
M8b4jM0SE0b+BwMCjvx4XzxygpPeXE5j0D4kw3i1LmO/TxlmeqUfBl/yWMoa2lU+
/3HG7DHveiGY5CwVknshNWMF5tqC9JDfZ7BdXAtUy3c2Axa3A/zMLGgH6XWNEu0c
0Bjv2tsmiWfsQYE4GUZoU96ZJnggcvI6X4/ppla0IWdwZzIxcDUyMSA8Z3BnMjFw
NTIxQGV4YW1wbGUuY29tPoi8BBMTCgAhBQJViH/sAhsDBQsJCAcDBRUKCQgLBRYC
AwEAAh4BAheAAAoJEGRcqQKef3Oxc1MCB3vQGNAAqlTmIipCLIVQON+PEz4EUsrU
bDIVg2HLEumeWh/vCaVvouFFpoBGAnYYGLq1gIzIurgR9TLu1MewPMEbAgkBhYqq
V43UtdF2Z5UmyMbderDbbCdW+lCEH8m+lUIxl/JGcMW7m4AwFPo5uIqf+FqcG6X+
smwcWADyC8qXqQYcZ9aeAAABCwRViH/sEgUrgQQAIwQjBAHtNhqjtxk3LMMGtDs1
KvHz2rEg6aYVewON5fKtjuI6KI+lmakXKB90a2elz5yTXEI62h0/TxaJur/eJqMs
vJApkAAd17+it6Yw5U2FGg+9CzVMcLtslPaW7jbbVpYxueBXh/+TtE1OpoP6ZkDC
kO3zCeR/CELDViBhefdKnDhq8Q7xnQMBCgn+BwMCOeX7njM1bGneCf0WTpZg7+rZ
8qL/KqUCB0tD6pz1LeYyZNxPEM17CTyMWXmmg0taRrATUjty24msqyiM9IYZNEc8
VcOHOP1PUdGgU4cMzcLuoaUesMBL4YztppROluX5s+C2NF0dReQp1qnkKhDqlYik
BBgTCgAJBQJViH/sAhsMAAoJEGRcqQKef3OxcmMCCQEfnhb7ntbTWGtE3C02CSsl
GlxMA+5BNYrisOJxwe1HkImAJKLbiKD6Me7izMJZZCgo8QLP7IBWArhemfj0m5fD
RwIGLHmwu5GXR3SRjckIRHY3/06SwoTny+i1iCtkulxaXGRGnQmcDXoi8tUTCp7a
aVvEKtpABaq3eHHCj8n5te+H9f4=
=x+3/
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<textarea id="Inbound_ECDSA_ECDH_P521_Gnupg_2_1_5">
-----BEGIN PGP MESSAGE-----
Comment: GPGTools - https://gpgtools.org

hMIDnEbxpPZKkU8SBCMEAa2wbr0mCM0VcEaCvoVLNy/dNwElX2zDUwvK9H7kRNc8
ISAU9EPRJByLQ5byoiSGCyet3g0p8vPvStnxr433S1cJASj2IUgj9GjRXpHhz/Ga
/eW/0c8ZPZfeJmF0zVo4w9x8B/8HlYsjUOCLEr3kdseoYAcxBBYiOMFEJ6qogzh5
fiahMOf8cyoBhx212fm9M4j3vzcMw3jTEvd0aMmLRg94IAfhc2eI0omfAHB3IRXM
RoDT9dLAMwGA3lPitdCXkMFfeCwnOLLm//0/moxgn4Xd3QRoywYCEJaB2DBiwYns
A85xG20Wb+IB96N41szsIb6LkD/1GhYvXeXCyGddAYiTu/qX97Rmtc8uR+4z/3+g
liO2INYf516ukzu79N543AVR4OnAvRJPnsVh1b5tN2eD2o6QIlyma4ZpakAtSI4J
nnKJkeJX1YbXl0nD6iH/+uO8zbM2KT/G1Xz06m9laWgBG7XMilpVKkj7TNXHQobW
v1GRUbXuEn8uW5sZcgt+r+zF1gM3hUWWb+7KcQ3E/nDCF+PuZlxCzMAEp1szEtBp
sVs8rWGlpJwhJQ==
=pSZl
-----END PGP MESSAGE-----
</textarea>
<!--
TODO: replace above msg with this one once the kdf bug is fixed.
ponizej powinien rzucac wyjatek.

-----BEGIN PGP MESSAGE-----
Charset: UTF-8

wf8AAADCA5xG8aT2SpFPEgQjBABIiX7wA7lCH5IT521yXM3/0KzX8hCFRBCerAGK
Na5A5DfVl+zQw/JJHWTkesa1ZyoXv/exCK7lN60RBBpjcTdQ/QCXaiIZHGZeoKby
7f0EgFgdZq9pXqaq9U04AqTlWb+ZvcHbBAmt6zG34tVPod76Jrsv2mFijZUsDYqN
vXLcGtOEwDBircBONigVSEfrnspgTdroSzGICq47ekQZ4Sy4oBarx0mtNnY0zun2
lRSWKxh1d33S/wAAATgBfkXpNmpu7U2alZaoaNSktnglt1Jfa+3Costi1DnFlMSd
dYHNjezMhizbYVRBBszEEG4+xOotEATTX0BwON6LP2ybG4Gl+eIlZfFrdjEob89P
6uM6klmSud5/Q6cBBxCmx/bCpC4ariC64aKvVpNaH0J+Ku24CcDrTkMxnmx/M8WY
3ueKQe+3E7ac+wCKJyH5/rBITnCR/9N0EuY2CBIV6RDAOF42uU4piSJQHPJ+sVxW
yiJmbRyjME/3gFIHnbtBQT5aRw+KD0XmYee9zsWco/lMj4dca5SB/eZ1LT0r6FhS
YQolOGcCMVGEMNMmN1ZDcLT9jOuTVoxY0vaf404KCp8byr4/d1tHpDQp+ZAkVm69
2NlgNC+5uOqBcfv8I1M1aMMJsqB9my8AmFsaBDT+ozdUYs+ba10=
=qUrx
-----END PGP MESSAGE-----


<!--
 Certificate contains a user id with Unicode characters in the Basic
 Multilingual Plane. This certificate should be accepted.

:public key packet:
  version 4, algo 1, created 1407361046, expires 0
  pkey[0]: [2048 bits]
  pkey[1]: [17 bits]
  keyid: F854FE8FF17F3813
:user ID packet: "\xc5\x90ry M\xc3\xa1t\xc3\xa9 "
:signature packet: algo 1, keyid F854FE8FF17F3813
  version 4, created 1407361047, md5len 0, sigclass 0x13
  digest algo 2, begin of digest 60 fa
  hashed subpkt 27 len 1 (key flags: 01)
  hashed subpkt 11 len 1 (pref-sym-algos: 7)
  hashed subpkt 21 len 1 (pref-hash-algos: 8)
  hashed subpkt 30 len 1 (features: 01)
  hashed subpkt 2 len 4 (sig created 2014-08-06)
  subpkt 16 len 8 (issuer key ID F854FE8FF17F3813)
  data: [2047 bits]
-->
<textarea id="BasicUnicodeUserId">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

mQENBFPioBYBCACZfqpYZEBIJE8nmSEWAMwuZmlgT2e5BG5OtIJZpRhNlK14kGvF
FZRNTdoYEmKekR9L12t1oew2gNVnS9eZLrN7MfRm6z6yoJh/4g5ExgdE2xoyQeF0
IbWAj7iQI4Ac/sTNpijjV+UTqnO89bVChGgf9qsiWuyQm5T+VUSPeIglS6U9mLli
Ki0AXLov0KO/FkbEi/KUClC6MGdS7D0nRYqxuXedeiwRaOEVAOMo+tmkWGNAA6Zw
jWGeZPtQBxH4L/Cx/nHuU/qYRRXx9RBwqD9Hd7w1uWclCQRcVXCGKA35M4lPFf8J
EnIPx12hFRkgGrzV24JEQf8dx2wTK0uUWfZ3ABEBAAG0DMWQcnkgTcOhdMOpIIkB
KAQTAQIAEgIbAQILBwIVCAIeAQUCU+KgFwAKCRD4VP6P8X84E2D6B/9AWGh3O/TB
mNF6FpNpNKNicj+E6GeRTnPxQ3LzdXpFF+XEyVc5TqPdz1/vQ4vnfq1NebR+BcSG
Z4mz9Frh4s9aLjOmKk+sZbLA7JOWSDBSSqa3GONldn8UUvgZpKKv8An33ABkFtGG
TNSn68HJg15e+/dzQdLX2jcqUtDpocjtd9U+TBFPznqWo4BXBQpG88jDJn3CZ0Cr
tfc+dayb3gcCg3iP9X2EI1wwIK8wHht57FdIeWmoZfFpfhOJZBP1BTUOHCGcY/OA
uSRaHik/xvxsh8zOddWhrgyJCcCfL9VtbKOpK1S5kl56A73hN4oRXP5JbDts2Bny
LDt1ncaXpjFs
=OXNI
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
 Certificate contains a user id with Unicode characters outside
 the Basic Multilingual Plane. This certificate should be accepted.
:public key packet:
  version 4, algo 1, created 1407627105, expires 0
  pkey[0]: [2048 bits]
  pkey[1]: [17 bits]
  keyid: 38D48534E5B68CCB
:user ID packet: "The \xf0\x9d\x8c\x86"
:signature packet: algo 1, keyid 38D48534E5B68CCB
  version 4, created 1407627105, md5len 0, sigclass 0x13
  digest algo 2, begin of digest 84 16
  hashed subpkt 27 len 1 (key flags: 01)
  hashed subpkt 11 len 1 (pref-sym-algos: 7)
  hashed subpkt 21 len 1 (pref-hash-algos: 8)
  hashed subpkt 30 len 1 (features: 01)
  hashed subpkt 2 len 4 (sig created 2014-08-09)
  subpkt 16 len 8 (issuer key ID 38D48534E5B68CCB)
  data: [2048 bits]
-->
<textarea id="SupplementaryUnicodeUserId">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFPmr2EBCACn2FimzdgSY7K1CG8M7hdz3/nQ7hHVM2ulG/WtEe6ZdlHG1mo7
i4jo2JzlAdLhnF/mZwuMJ72Wy+QUJ5Um38d6ly95RmlXPkNDz01Mb+f9YF3u36TV
o7NTIzcgK6T9kVp6ksr3IktoW3rKKFUsTkKnUuCCbl843x0uqGu3fv7JEC/AVPUt
hPNYFCttDr07p00cNbrBr8+QJXBDx//SZtCYmjrtpFP0HmARvRknx1tAun0+S9AG
AsOJLdXu8ZJPWHqwNb38J69uVk5W7dpGe0ZQdx9n9EfYXDv/wWT+8/c7YGLqCtIf
qMXW+PKdgAo5xqL4S+rqfGZHlT5y8fyIhY45ABEBAAG0CFRoZSDwnYyGiQEoBBMB
AgASAhsBAgsHAhUIAh4BBQJT5q9hAAoJEDjUhTTltozLhBYIAJYP08yoeKWk5cj0
B9Y51PEzII8fGrJDeoltJ+O1iPBteiA0Es3Q3XOXtkjqPFMzDpgjEpqAj+fSE5VC
AsGP63ozSg4zOCDF8k++/iX+t5A3i+xGTZmknisccjVdcx/1nVFBK8dEy6WE+ir9
f74GEqERKGvgLyFXlS6dXzs5J1gSY0pOq5NxYkHauz/9QIKSoxMxDad0AJbVegBX
ESFbpA5UETgojzviA6Q/jz6c0N1cHTEQD2MnTsk8xRSnRsYG6AL96f4i6cwpdV2I
CW4s/mR2ZILuKKsS6WxY8Q8AVeKMW4cXWJZO/cMwok9Gk8oZORdWr8AkVxOLfvf/
aCOr+QE=
=H1h/
-----END PGP PUBLIC KEY BLOCK-----
</textarea>

<!--
 Secret keyring containing experimental packet types. These should be
 ignored while processing.
 :secret key packet:
   version 4, algo 1, created 1408399824, expires 0
   skey[0]: [2048 bits]
   skey[1]: [17 bits]
   iter+salt S2K, algo: 7, SHA1 protection, hash: 8, salt: 244bcb7f573b6455
   protect count: 65536 (96)
   protect IV:  43 ce 71 8b 4b 81 19 7e 64 cc eb c2 bb fc c2 26
   encrypted stuff follows
   keyid: 848DF06DC5151158
 :user ID packet: "with-experimental"
 :GnuPG comment packet: "dummy data"
 :signature packet: algo 1, keyid 848DF06DC5151158
   version 4, created 1417039824, md5len 0, sigclass 0x13
   digest algo 2, begin of digest 03 53
   hashed subpkt 2 len 4 (sig created 2014-11-26)
   hashed subpkt 27 len 1 (key flags: 01)
   hashed subpkt 11 len 1 (pref-sym-algos: 7)
   hashed subpkt 21 len 1 (pref-hash-algos: 8)
   hashed subpkt 30 len 1 (features: 01)
   subpkt 16 len 8 (issuer key ID 848DF06DC5151158)
   data: [2046 bits]
 :unknown packet: type 60, length 10
   dump: 64 75 6d 6d 79 20 64 61  74 61
 :packet 63: length 10 - private (rest length 10)
   64 75 6d 6d 79 20 64 61  74 61
-->
<textarea id="ExperimentalPackets">
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

lQPGBFPyedABCADqXyQ+SgscdcvB8wyLQZh1Enk78IoaJOEw+nrF15meAm8nfMFt
2jUrL2u937R6vJBeL1lXV5yVrBDC0WVV5s49APJI8zbYu25jDsq3dHkq2zo0wfTf
PJU2JaMxSDFKbE/zCdayI6TxyI0sbz3H3KQJyqjt1+z3LbngVRQOtOO/1YwkHJuw
cggqRGgHc9Dsm2p7EZTXdKdPzcuRaXES3pDAnn1Ydvh03UqT4leC/quS6ichaMG4
QD6zeseCDCUKunK7oNAV8f0jxDszalmayMXTMc7jOBpbib8hMcwEAt5bBOAB62nu
eaFqSF8BtfXQYT+OsrAR23EU6cgJfXCxkm/JABEBAAH+BwMIJEvLf1c7ZFVgQ85x
i0uBGX5kzOvCu/zCJtZlhNMCFGQvPlEvODxCkDSehWPgTTCdSb/tA7xKsgRuE/s9
vXXfY6dgXZYowJ3podnHugz900WmwVcSCRZtKEEWMyc2BWyIM+Edg0MoP06gsxt7
jlVgu8PaBu/In6fUPCvVsungX6Tj0UYPfA3Il3qz+/ClM1yAL0YHgXhOLW7uVgKT
mQyQ09YbEXdNWBC+21tL/eJTZPn/2+G5Heqz5FAY7anCt7aPGyStZgJF1ZEKrjg9
0B1g/61oQ2CmZxM4nt/8vSTy6ZUb2Hd8bMyvgirzBW9N+9VekS4gGLdYnzL6fUnk
u6EqB+WCexFREdq9DdDgs7nscjhqoWUXAQWnUkihp8QqE9KIaEdqE1ultZiLp72e
NFNyj9UXgCXAaSEvrBVkKBLAa2SXbuoQsr64SJ+TuQqpxT8b3jR3b3LBjA2XLMTS
OUdf/Rqef/jh4oKVqJuk+uCGeqTNWI56EyLe33dfEUqZKQO9jpveVJB9PRmhILhN
G80yzBMTzrpAnAKNv7HGzRTmEhWhJOKI664n1q44CeALKGeYhL1ohAuX8tA9+E3i
4+QP5CyRTuhC3tyL6zIlev+wJtBUpQQEcusGKiRI9eAOpcjDXtw9RHdILMYvljEm
+1ewoveldOqA8SG3KBwN16RCFiXuJR5Qeoj57fdsakwpcZ8Ts+IUgtWqk76UqlVp
NIuy/C+Igwk9vTZ0+a8ov9pUG4qaW1AnGGs2Z7O0unumNtWyhTQ4lo4VwFoEGk1s
PbhG9ExhClbynrrgJ691k9/yivUCtGLRMUs8wHgDgAh3KXsYWCjPRYCXj/fXTKVY
GpwGlfAdmXBjSyKsFi06khBGjBJepnbL9Z8JFVd/4Mw+NkdeVZ6FZrmAP6ZCSc/1
4s3UqzE1EUPrtBF3aXRoLWV4cGVyaW1lbnRhbP0KZHVtbXkgZGF0YYkBKAQTAQIA
EgUCVHZP0AIbAQILBwIVCAIeAQAKCRCEjfBtxRURWANTB/41jjAzhEpj6qX0z/Rb
NrBRbbMlf7q2MzsYHmMXI61XT00gojnn9WXGoVuqhRVd/gPG2T1hx+4lqvnx9oZT
EdPTY6e/69SGVSIDtTrIj4hGlpstmJc952xpSZGF/241t7Ci3gvQFq8bpilmHAyd
UDlD1+acPifvrWWrmFEDntU8ISymfxvh4G/plSGsHC9dESH4NH4HZHKmYoazVEgC
rCxf8nllkJopJ+XjbuYGq/stY0TgeZPsjy0PNdC12PlAFFhaXqj4MGMbuQjYVXw9
Xurcaz5o8R+f85Mb58lS3w4t7E8kQhRp4wUGcsj+GmeFHjzX1gmMmnwc+zUHu1Fi
hqeQ/ApkdW1teSBkYXRh/wpkdW1teSBkYXRh/gpkdW1teSBkYXRh
=RIw0
-----END PGP PUBLIC KEY BLOCK-----
</textarea>
<!--
  Tests that we can import, decrypt and verify signatures made
  by keys with the RSA-s and RSA-e algorithm ids.
:secret key packet:
  version 4, algo 3, created 1410288017, expires 0
  skey[0]: [1024 bits]
  skey[1]: [17 bits]
  iter+salt S2K, algo: 7, SHA1 protection, hash: 8, salt: cb18e77884f2f055
  protect count: 65536 (96)
  protect IV:  22 71 f7 18 af 70 d3 bd 9d 60 c2 ae d9 46 9b 67
  encrypted stuff follows
  keyid: 04C78703EFBF9416
:user ID packet: "rsa-rsa-default"
:signature packet: algo 3, keyid 04C78703EFBF9416
  version 4, created 1418928017, md5len 0, sigclass 0x13
  digest algo 2, begin of digest a7 ca
  hashed subpkt 2 len 4 (sig created 2014-12-18)
  hashed subpkt 11 len 1 (pref-sym-algos: 7)
  hashed subpkt 21 len 1 (pref-hash-algos: 8)
  hashed subpkt 30 len 1 (features: 01)
  subpkt 16 len 8 (issuer key ID 04C78703EFBF9416)
  data: [1022 bits]
:secret sub key packet:
  version 4, algo 2, created 1410288017, expires 0
  skey[0]: [1024 bits]
  skey[1]: [17 bits]
  iter+salt S2K, algo: 7, SHA1 protection, hash: 8, salt: cb18e77884f2f055
  protect count: 65536 (96)
  protect IV:  7a 12 8c 19 24 dc 3b 71 cf 6e e9 61 99 db 60 b5
  encrypted stuff follows
  keyid: D768A4153A7326C3
:signature packet: algo 3, keyid 04C78703EFBF9416
  version 4, created 1410288017, md5len 0, sigclass 0x18
  digest algo 2, begin of digest 21 4a
  hashed subpkt 2 len 4 (sig created 2014-09-09)
  subpkt 16 len 8 (issuer key ID 04C78703EFBF9416)
  data: [1020 bits]
-->
<textarea id="RSAVariantAlgorithms">
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1

lQIGBFQPSZEDBACa+JwIqOqEtTYyaLrIoGghGUFjy87u0tkh9fO90ZJSiRHHseUV
3OiGVAnhYdu72KRojFbB59/PY52WI+MXWxvKhrHRKuTk+/mlt9VJP0aNp0T0rPxN
E60tgzmP/CDX3wLfgvO8Bfku3EGzxHhjigU3JlhqqsV+K2bAT5d1cWoMcQARAQAB
/gcDCMsY53iE8vBVYCJx9xivcNO9nWDCrtlGm2euydlp5MCZULhFBdUt4/jaB80G
/9oCSF5/5VOibbk5d0feuY7to031oS4rOCZMlsjisfD8v9kVfc38aN7c32DdmfJs
M5Cujqx0vwwYPnU99dZeCfXIskEsCgLeEeCi3daAa3jgQOJqGVTp3Nu7MQqBaa6N
ybbkQs9qbHHON+t+S0+119Q+m6Fh3E7/FgLoFWwNxanQWDpK4qximayeOI8NyOQT
3urrKB36ldcuOXuLn3vpAvfZALos0Y9fLuzMzkYgQ8ghweLkbH01r4GUykjLM7jb
kLEB0ihHuRDvwgy77MvkrgqoOReMRYDzgWTisiSVj8OQRhzZ4nHYiyPMKAqUuAhh
DNB/X9fA9FSkdf3S3JZMypuZdqsLf9+fqGSsJ0wXD6O0TXoAnoJpKHcp3Py+ps1h
+SFqw/2/PKoJShgRXCwbzEO+YTgqNAtTfFHas5BrY45ggTxGug+XMSC0D3JzYS1y
c2EtZGVmYXVsdIilBBMDAgAPBQJUkx+RAgsHAhUIAh4BAAoJEATHhwPvv5QWp8oD
/jDlPbR4AgpEwLqYOI5dUO0gQoG2G+2JK2qCNuy8SMTMBfiPz1TW62HnmOFz1wWR
gwNwIl4+F1qC4o8nxORIKyXJBngUhekSifWoWPyMzp2om7Ipta/dQjKUwZV2fVSt
iqqK1u7l1t0pYLs3Giy8V0PAflDKkVIZqw9xCJegK6RanQIGBFQPSZECBACROoHb
3Ayw3PzuW/gZYf/Hv3wEcXAwaUibDhPOp+zdj673txWte7AU9k9aTwzogd2JkL+q
RwtWnxR2+ap7BWP+Wkt5qfs7JjVtC9qA+L0mNEEZyiMwYd90Gb9g4uZCnxTSDhoD
KL5rMlyEmWHgMLJyw0kk27IB4xkfH6ncn+wWhwARAQAB/gcDCMsY53iE8vBVYHoS
jBkk3Dtxz27pYZnbYLVyQjSsT+O55w8fU/kx88txHbyuljhIKK/R66/ejErGOP6v
yKptsEnjglZjspyNWd4K4cxx9mkdo/2iNcrvH96pDprmWs1hQEqae8kUmx52daCS
ljT+VPrEv1iDgDoJ3QpQ5x56EQnb5w0LYYshOFpWeQuvuklRwIjvSAVcZ6sNm2lB
N+uwgjH/Gw+I3i7yoSHiQucfUpqrmczsDxQ0LrfdWeBKTFLjqgNzDiOAh8RSX3A6
0j7nAKZVqWwC3WInGs1YxdBmQ5nCioCaplOLlJmc2+HMGQmFqjoSxdul1RGCt0D8
QVsaU3n/zIbOnf1vLYTYWyALg/KbV4j40STSHA2zQm772X2BxAOP6wzERbXJ1MUt
o1Zt7aYRtU6MBc739H32XtxoGbyIGmAxUUBljUq+oMk5BoZo2YuCD4nk48ry+lrR
UrxgQ1AVisxye9dLSXekE4MCCGP1ysMjnCGInAQYAwIABgUCVA9JkQAKCRAEx4cD
77+UFiFKA/wOG2PxB1iDtDeLAUfOP0zMx6qBQfWCyWldKze/bom5SwbLT42+Aks9
B0RU6JKdd8WfwTlJyQeM56aUe1wPwVHBe+zTG+XvsYree3rQHFEgHTN3KEPHc6Ec
QqrhcYJ4IBFau0avBvi7QjsSOvePvIKFO/DuDIECRpLZjRW+VKisag==
=hU9G
-----END PGP PRIVATE KEY BLOCK-----
</textarea>
<!--
  Message signed by, and encrypted to the private key above.
:encrypted data packet:
  length: 237
  mdc_method: 2
gpg: encrypted with 1024-bit RSA-E key, ID 3A7326C3, created 2014-09-09
      "rsa-rsa-default"
:compressed packet: algo=1
:onepass_sig packet: keyid 04C78703EFBF9416
  version 3, sigclass 0x00, digest 8, pubkey 3, last=1
:literal data packet:
  mode b (62), created 1418941207, name="hello.txt",
  raw data: 5 bytes
:signature packet: algo 3, keyid 04C78703EFBF9416
  version 4, created 1418941207, md5len 0, sigclass 0x00
  digest algo 8, begin of digest 25 31
  hashed subpkt 2 len 4 (sig created 2014-12-18)
  subpkt 16 len 8 (issuer key ID 04C78703EFBF9416)
  data: [1023 bits]
-->
<textarea id="RSAVariantAlgorithmsMessage">
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1

hIwD12ikFTpzJsMCA/45blJctJzKPQ1n5IUiCaOqEB4x+Vd1XviFD6mYqCnIbu2n
zA6KdVDmdA865N/PUwDzvUIijvIOCZtcm+YjYewzQZ92O9JNqxvfIGdTILxL5LOd
k9N07DMjIN+b4vh/2H2E8bWctYrni48qG7oR85F80h9InPxlRc/y0aS0wo26GdLA
LQECgYWF77t7FVRBIPewfJHlacJsgqJFeuFw2K1SYYMGB9kbcdUJbkKzD0AX5gco
WGoSlEPhoTMin20KQ48mochf6qEL+jI1XCPTAlwURm0Ifd4bthLzfApVFtCbc+f8
66AKIGi7nnZIwdApN6GalEql6hH5KEiR/s7eNfZ3ZHig2oi4W03nSCiDbHE50GD4
jF0vUEorTLm0Si2rG7adQNWJL+HgLSdS9vvG7kI3vla5lnpTlvcbuxTDGHl3JYoz
zbHR0aWTnV3UspMr7xkuXGRrf6bbRcRsYageinoyItK9Of6W/iFI/sKk/yAXsg==
=UCdE
-----END PGP MESSAGE-----
</textarea>

<script>
  goog.require('e2e');
  goog.require('e2e.async.Result');
  goog.require('e2e.openpgp.ContextImpl');
  goog.require('goog.async.DeferredList');
  goog.require('goog.testing.AsyncTestCase');
  goog.require('goog.testing.jsunit');
  goog.require('goog.testing.storage.FakeMechanism');
</script>
<script>
  var RSA_PRIVATE_KEY =
  '-----BEGIN PGP PRIVATE KEY BLOCK-----\n' +
  'Version: GnuPG v1.4.11 (GNU/Linux)\n' +
  '\n' +
  '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\n' +
  '/+yGzcqh\n' +
  '=no9X\n' +
  '-----END PGP PRIVATE KEY BLOCK-----';

  var RSA_PUBLIC_KEY =
  '-----BEGIN PGP PUBLIC KEY BLOCK-----\n' +
  'Version: GnuPG v1.4.11 (GNU/Linux)\n' +
  '\n' +
  'mQENBFKFJ5kBCADgTy3vZ27fhfiFDUSsCx5ldIHwE1GbuZCm+WIhCH3ni2CL0lKY\n' +
  'AUNFWRcxeODlQlvYA2ti+JALWjzlUYTpf02g3LfzBSIqdDn3JBwN6U12A0xwwSRs\n' +
  'KSRp8phn9yCyCTO7btbqZtGc29jrX/k6cbrBE8ln/9wlZVx8KVcpzDI4jhXjUwmM\n' +
  'JYvJqCHXRTe3kEGZkONfAeeIBfvs7t7Y/sv80RuXnlwMVMjEZKGRFlNQ5zqr8QQb\n' +
  'qh9MA7NeezIi890cQzii/+w6ta7X4/BnML4iud/aNiLYhpeZwEFqXHMwp+w8xHkk\n' +
  'YharW9Kgng6Vw7UE10SxeUqCjaLnlSf82Z5TABEBAAG0RVJTQVJTQSBLRVkgKFJT\n' +
  'QS9SU0Ega2V5IGdlbmVyYXRlZCBieSBncGcpIDxyc2Fyc2FAcGdwa2V5LmV4YW1w\n' +
  'bGUuY29tPokBOAQTAQIAIgUCUoUnmQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC\n' +
  'F4AACgkQj2UmmMMwpyqPWgf+Jc4DzCCxf3S1M7zM49y7VNne9H2Fy2TCyvidhlXd\n' +
  'OpI4dNKjIyUmYQZTLEWcWpnxcK5YcypxDrFX69s0F5s8cd9CN2gIRglHSHpay8oj\n' +
  '2NTJ8DS05pmUyeKlG429zah0n1OtHsCOq/E/ibDmDLUsN2/ECh6ZNxpVIig5+sin\n' +
  'JpP5n2j1vO3QbGs2pggaY5CWjayN2MyjIaIWyPrq/H08LPJPV41rFdU9Dur7/Eby\n' +
  'cclQ6yM2fg8D+wzK2gH4zvxSIpegD7vA5+GN2RYP3iYVx7i+DK8PQdTBe/qL2WDa\n' +
  'Kpy7DyhL5P4WNwPo51GHP5TBNvL1z0IzqyfcVuZtRVZ64LkBDQRShSeZAQgAuR/p\n' +
  'QU1Laihb2ladg6ymg+Crs5ap3cdjeW+vPQ8E4uVi3oZXfpfpHLYTY6EchVMJKU9g\n' +
  'oZFn/z2vb67h5/vSARIXFTU5ccwzegW6lG+zPcY+QxpmkjMiLlpDN7cMu9oJE44+\n' +
  'I3KFhUQkkEPGB5BznnsCCr10Cwe1Tf6LDs/BvrXBPoi4/ex329yFU5hbp5OWzylJ\n' +
  'Ak4hcPVMiYe0YFNb4VHUGwfwWqlgHuHfKWfbN6E7F0EaZosGZALGt981iNA+P1uQ\n' +
  '1rzm0dMaqKwRh2IAPeCDeiIBkbFgoae8eE/4f32xpV+8J0nUYZCKZjhxZYbAJfDx\n' +
  '1SY0HZ6ex3MKscVgBwARAQABiQEfBBgBAgAJBQJShSeZAhsMAAoJEI9lJpjDMKcq\n' +
  'MfcH/As1jLNy+H62LG/kgXL4i4mhjouI4Og54FKZsvcmJHM/2JX3TsYhU0PAJ4MB\n' +
  'fHyNZ9BUiuFpsQupERQ9nOxkMUL5nm4xn5dBVa4ZumUcnr/kIib5gFhs6nHt5LUo\n' +
  '1XeiCW7bt0ac7hOTECox+ZM5YabBO+cXLfdCUQp7vDh4xfxjnX7+fviLvY32nboX\n' +
  'rxA+hcluYFJdl87kTatUir6vA7I7KBtlwnj2dRaM1BiFmXmbj6eHnBZ5YxCh1yfq\n' +
  'mcR6P4l2NfaqJ5k4olWcWTLmjlwNMsWRL26zFRcpbpmle1F5rCx0CS0XXAHLJmIe\n' +
  '6LOU9E37DV4E77Ali8P/7IbNyqE=\n' +
  '=A9tz\n' +
  '-----END PGP PUBLIC KEY BLOCK-----\n';

  var context, asyncTest = goog.testing.AsyncTestCase.createAndInstall(document.title);

  function setUp() {
    context = new e2e.openpgp.ContextImpl(
        new goog.testing.storage.FakeMechanism());
    // No passphrase.
    e2e.async.Result.getValue(context.initializeKeyRing(''));
  }

  function runTestFor(version, assertionsCb, regexp) {
    var msgs = document.getElementById(version).value;
    var encryptedMsgs = msgs.match(regexp);
    var results = goog.array.map(
      encryptedMsgs,
      function(msg, index) {
        var deferred = context.verifyDecrypt(function(_) {
          return e2e.async.Result.toResult('a');
        }, msg);
        deferred.addCallback(function(vd) {
          return vd;
        }).addErrback(function(e) {
          fail("Failure at message " + index+ ": " + e);
        });
        return deferred;
      });
    // Let us wait 3 seconds per message.
    asyncTest.stepTimeout = encryptedMsgs.length * 2e3;
    asyncTest.waitForAsync('Waiting for decryptions.');
    var deferred = goog.async.DeferredList.gatherResults(results);
    return deferred.addCallback(goog.bind(assertionsCb, this, encryptedMsgs));
  }

  function testInboundRsa() {
    var assertDecrypts = function(encryptedMsgs, all, opt_plaintext) {
      var plaintext = e2e.stringToByteArray(opt_plaintext || 'susheep\n');
      goog.array.forEach(all, function(r) {
        assertArrayEquals(plaintext, r.decrypt.data);
      });
      assertEquals(encryptedMsgs.length, all.length);
      assert(all.length > 0);
    };
    var assertDecryptsCr = function(encryptedMsgs, all) {
      assertDecrypts(encryptedMsgs, all, 'susheep\r\n');  // \r added by openpgpjs.
    };
    var msgRegex = /-----BEGIN[\s\S]*?END PGP MESSAGE-----/g;

    asyncTest.waitForAsync('Waiting for key import.');
    context.importKey(buildPassphraseCallback('test'), RSA_PRIVATE_KEY)
      .addCallback(function() {
        return runTestFor('InboundRsaEncryptGnupg1_4_11', assertDecrypts, msgRegex)
    }).addCallback(function() {
        return runTestFor('InboundRsaEncryptGnupg2_0_17', assertDecrypts, msgRegex);
    }).addCallback(function() {
        return runTestFor('InboundRsaEncryptGnupg2_1_0beta3', assertDecrypts, msgRegex);
    }).addCallback(function() {
        return runTestFor('InboundRsaEncryptPgp10_0_0_674', assertDecrypts, msgRegex);
    }).addCallback(function() {
        return runTestFor('InboundRsaEncryptOpenpgpjs0_7_2', assertDecryptsCr, msgRegex);
    }).addCallback(function() {
        asyncTest.continueTesting();
    }).addErrback(fail);
  }

  function testInboundPlaintext() {
    var assertPlaintext = function(input, all) {
      var plaintext = e2e.stringToByteArray('test\n');
      goog.array.forEach(all, function(r) {
        assertArrayEquals(plaintext, r.decrypt.data);
      });
      assertEquals(input.length, all.length);
      assert(all.length > 0);
      asyncTest.continueTesting();
    };
    var msgRegex = /-----BEGIN[\s\S]*?END PGP MESSAGE-----/g;
    runTestFor('InboundPlaintextGnupg1_4_11', assertPlaintext, msgRegex);
  }

  function testInboundRsaSign() {
    var deferred = goog.async.DeferredList.gatherResults([
      context.importKey(buildPassphraseCallback('test'), RSA_PRIVATE_KEY),
      context.importKey(function(uid) {
        fail("Should not call callback");
      }, RSA_PUBLIC_KEY)
    ]);
    var assertCorrectlySigned = function(encryptedMsgs, all) {
      goog.array.forEach(all, function(r) {
        var plaintext = e2e.stringToByteArray('signed');
        assertArrayEquals(plaintext, r.decrypt.data);
        assertEquals(1, r.verify.success.length);
        assertEquals(0, r.verify.failure.length);
      });
    }
    var msgRegex = /-----BEGIN[\s\S]*?END PGP MESSAGE-----/g;
    deferred.addCallback(function() {
        return runTestFor('InboundRsaSignGnupg1_4_11', assertCorrectlySigned, msgRegex);
    }).addCallback(function() {
        asyncTest.continueTesting();
    }).addErrback(fail);
  }

  function testInboundIntertwinedUserAttributeAndUserId() {
    var key = document.getElementById('InboundKeyGnuPg1_UserAttribute').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertEquals(importedUids.length, 2);
        asyncTest.continueTesting();
    });
  }

  /**
   * Imports a keypair, then creates, signs, decrypts and verifies a message.
   * After that it tries to decrypt and verify an inbound message created by
   * the external tool.
   */
  function runImportEncryptDecrypt(testName, publicKeyId, privateKeyId,
        messageId, keyPassphrase) {
    var messageText = testName;
    var uid;
    var publicKey;
    var message = document.getElementById(messageId).value;
    var keyPublic = document.getElementById(publicKeyId).value;
    var keyPrivate = document.getElementById(privateKeyId).value;
    asyncTest.waitForAsync(testName + ' - Waiting for public key import');
    context.importKey(fail, keyPublic).addCallback(function(importedUids) {
        asyncTest.waitForAsync(testName + ' - Waiting for private key import.');
        return context.importKey(buildPassphraseCallback(keyPassphrase),
            keyPrivate);
    }).addCallback(function(importedUids) {
        assertEquals(1, importedUids.length);
        uid = importedUids[0];
        asyncTest.waitForAsync(testName + ' - Waiting for public key search.');
        return context.searchPublicKey(uid);
    }).addCallback(function(keys) {
        publicKey = keys[0];
        asyncTest.waitForAsync(testName + ' - Waiting for private key search.');
        return context.searchPrivateKey(uid);
    }).addCallback(function(privateKeys) {
        asyncTest.waitForAsync(testName + ' - Waiting for encryption');
        return context.encryptSign(messageText, {}, [publicKey], [],
            privateKeys[0]);
    }).addCallback(function(encryptedMessage) {
        // Output a message to facilitate testing with external tools.
        console.log(testName);
        console.log(encryptedMessage);
        asyncTest.waitForAsync('Waiting for decryption');
        return context.verifyDecrypt(fail, encryptedMessage);
    }).addCallback(function(vd) {
        assertEquals(messageText, goog.crypt.byteArrayToString(
            vd.decrypt.data));
        assertEquals(1, vd.verify.success.length);
        asyncTest.waitForAsync('Waiting for inbound message decryption');
        return context.verifyDecrypt(fail, message);
    }).addCallbacks(function(vd) {
        console.log(goog.crypt.byteArrayToString(vd.decrypt.data));
        assertEquals(1, vd.verify.success.length);
        asyncTest.continueTesting();
    }, fail);
  }

  function testGnupg215_P256() {
    runImportEncryptDecrypt(
        'GnuGP 2.1.5 P256',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P256',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P256_Private',
        'Inbound_ECDSA_ECDH_P256_Gnupg_2_1_5',
        'test');
  }

  function testGnupg215_P384() {
    asyncTest.stepTimeout = 5000;
    runImportEncryptDecrypt(
        'GnuGP 2.1.5 P384',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P384',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P384_Private',
        'Inbound_ECDSA_ECDH_P384_Gnupg_2_1_5',
        'test');
  }

  function testGnupg215_P521() {
    // Slower operations due to P521 impl lacking fast modulus.
    asyncTest.stepTimeout = 7000;
    runImportEncryptDecrypt(
        'GnuGP 2.1.5 P521',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P521',
        'InboundKeyGnupg_2_1_5_ECDSA_ECDH_P521_Private',
        'Inbound_ECDSA_ECDH_P521_Gnupg_2_1_5',
        'test');
  }

  function testOpenKeychain_P256() {
    runImportEncryptDecrypt(
        'OpenKeychain P256',
        'InboundKeyOpenKeychain_ECDSA_ECDH_P256',
        'InboundKeyOpenKeychain_ECDSA_ECDH_P256_Private',
        'Inbound_ECDSA_ECDH_P256_OpenKeychain',
        'q');
  }

  function testOpenKeychain_P521_bug_1353() {
    // Slower operations due to P521 impl lacking fast modulus.
    asyncTest.stepTimeout = 7000;
    var key = document.getElementById(
        'InboundKeyOpenKeychain_ECDSA_ECDH_P521_bug1353').value;
    asyncTest.waitForAsync('Waiting for key import');
    context.importKey(fail, key).addCallbacks(fail, function(e) {
        assertEquals('Digest algorithm is too short for this curve.',
            e.message);
        asyncTest.continueTesting();
    });
  }

  function testInboundDummyS2k() {
    var key = document.getElementById('InboundKeyGnuPg1_DummyS2k').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(buildPassphraseCallback('a'), key)
      .addCallback(function(_) {
        fail('should not import the key');
    }).addErrback(function (e) {
        assertTrue(e instanceof e2e.openpgp.error.UnsupportedError);
        asyncTest.continueTesting();
    });
  }

  function testInboundClearsignOneline() {
    var key = document.getElementById('InboundClearSignKey').value;
    var msg = document.getElementById('InboundClearSignOnelineMsg').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertEquals(importedUids.length, 1);
        asyncTest.waitForAsync('Waiting for decrypt.');
        context.verifyDecrypt(function(_, cb) {  cb('test')}, msg).addCallback(
          function(vd) {
            assertEquals('test oneline', goog.crypt.byteArrayToString(
                vd.decrypt.data));
            assertEquals(0, vd.verify.failure.length);
            assertEquals(1, vd.verify.success.length);
            asyncTest.continueTesting();
        }).addErrback(function(e) {
            fail(e);
        });
    }).addErrback(function(e) {
        fail(e);
    });
  }

  function testInboundClearsignMultiline() {
    var key = document.getElementById('InboundClearSignKey').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {

        var assertCorrectlySigned = function(clearsignedMsgs, all) {
          goog.array.forEach(all, function(r) {
            assertContains('\r\nmultiline', goog.crypt.byteArrayToString(
                r.decrypt.data));
            assertContains('\r\n--minus prepended', goog.crypt.byteArrayToString(
                r.decrypt.data));
            assertEquals(0, r.verify.failure.length);
            assertEquals(1, r.verify.success.length);
            asyncTest.continueTesting();
          });
        };
        assertEquals(importedUids.length, 1);
        var msgRegex = /-----BEGIN[\s\S]*?END PGP SIGNATURE-----/g;
        runTestFor('InboundClearSignMultilineMsg', assertCorrectlySigned,
            msgRegex);

    }).addErrback(function(e) {
        fail(e);
    });
  }

  function testInboundClearsignUnsupportedHashAlgo() {
    var key = document.getElementById('InboundClearSignKey').value;
    var msgs = document.getElementById('InboundClearSignKeyUnsupportedAlgo').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
      assertEquals(importedUids.length, 1);
      var msgRegex = /-----BEGIN[\s\S]*?END PGP SIGNATURE-----/g;
      var signedMessages = msgs.match(msgRegex);
      goog.array.forEach(signedMessages, function(msg, index) {
      context.verifyDecrypt(function(_, cb) { cb('test')}, msg)
          .addCallback(function() {
            fail("Should fail at message #" + index);
          }).addErrback(function(e) {
            assertTrue(e instanceof e2e.openpgp.error.UnsupportedError);
            asyncTest.continueTesting();
          });
      });
    }).addErrback(function(e) {
        fail(e);
    });
  }

  function testInboundClearsignV3Packet() {
    var key = document.getElementById('KeyEncryptionDesktop10_3_2').value;
    var msg = document.getElementById('InboundClearSignEncryptionDesktop10_3_2').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail('Should not call callback');
    }, key).addCallback(function(importedUids) {
        assertEquals(importedUids.length, 1);
        asyncTest.waitForAsync('Waiting for verifyDecrypt.');
        return context.verifyDecrypt(function(_, cb) {cb('test')}, msg).addCallback(
          function(vd) {
            // Verification should not have failed.
            assertEquals(0, vd.verify.failure.length);
            assertEquals(1, vd.verify.success.length);
            asyncTest.continueTesting();
        });
    }).addErrback(function(e) {
        fail(e);
    });
  }

  function testInboundClearsignV3PacketNoKey() {
    var msg = document.getElementById('InboundClearSignNoKeyEncryptionDesktop10_3_2').value;
    asyncTest.waitForAsync('Waiting for verifyDecrypt.');
    context.verifyDecrypt(function(_, cb) {cb('test')}, msg).addCallback(
      function(vd) {
        // Verification should not have succeeded, because we don't have a key.
        assertEquals(0, vd.verify.success.length);
        asyncTest.continueTesting();
    }).addErrback(function(e) {
      fail(e);
    });
  }

  function testInboundSubkeyRevocationPacketRightAfterSubkey() {
    var key = document.getElementById(
        'InboundKeyGnuPg1_RevocationRightAfterSubKey').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertArrayEquals(['revoked <revoked@revoked.net>'], importedUids);
        asyncTest.continueTesting();
    });
  }

  function testBasicUnicodeUserId() {
    var key = document.getElementById(
        'BasicUnicodeUserId').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertArrayEquals(['\u0150ry M\u00e1t\u00e9 '], importedUids);
        asyncTest.continueTesting();
    });
  }

  function testSupplementaryUnicodeUserId() {
    var key = document.getElementById(
        'SupplementaryUnicodeUserId').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertArrayEquals(['The \ud834\udf06'], importedUids);
        asyncTest.continueTesting();
    });
  }

  function testExperimentalPackets() {
    var key = document.getElementById(
        'ExperimentalPackets').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(buildPassphraseCallback('test'), key)
      .addCallback(function(importedUids) {
        assertArrayEquals(['with-experimental'], importedUids);
        asyncTest.continueTesting();
    });
  }

  function testOpenKeychainCustomKeyIssue337() {
    var key = document.getElementById(
        'InboundOpenKeyChainCustomKey_Issue337').value;
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(function(uid) {
      fail("Should not call callback");
    }, key).addCallback(function(importedUids) {
        assertArrayEquals(['Google Testing <testing@gmail.com>'], importedUids);
        asyncTest.continueTesting();
    });
  }

  function testRSAVariantAlgorithms() {
    var key = document.getElementById('RSAVariantAlgorithms').value;
    var message = document.getElementById('RSAVariantAlgorithmsMessage').value;
    var pw = buildPassphraseCallback('test');
    asyncTest.waitForAsync('Waiting for import.');
    context.importKey(pw, key).addCallback(function(uids) {
        assertArrayEquals(['rsa-rsa-default'], uids);
        asyncTest.waitForAsync('Waiting for decrypt.');
        context.verifyDecrypt(pw, message).addCallback(
            function(result) {
                assertEquals(
                    'hello', e2e.byteArrayToString(result.decrypt.data));
                assertEquals(1418941207, result.decrypt.options.creationTime);
                assertEquals('hello.txt', result.decrypt.options.filename);
                asyncTest.continueTesting();
            }).addErrback(fail);
       });
  }

  function buildPassphraseCallback(passphrase) {
    return (function(uid) {
      return e2e.async.Result.toResult(passphrase);
    });
  };

</script>
